[Seasar-user:21747] 【s2chronos】Taskが2回起動されます

mnitta [E-MAIL ADDRESS DELETED]
2013年 10月 30日 (水) 11:27:19 JST


お世話になっております。新田と申します。

現在、SAStruts, Doma環境下でS2Chronosを使用し、WEBアプリにて
タスク処理を実装しております。

CCronTriggerでタスクを起動していますが、起動時間に必ずスレッドが2回起動してしまい、
タスク処理が2度実行される現象が起きています。

TestTaskA、TestTaskBを
TestTaskA=0 10/10 * * * ?
TestTaskB=0 10/15 * * * ?
と指定して実行した場合のログです。(その他のCROND表現に変えても同じ現象が発生します)

[2013/10/30 08:20:01][DEBUG][chronos-pool-1-daemonthread-1][AbstractScheduleExecuteHandler] jp.test.task.testATask
[2013/10/30 08:20:01][DEBUG][chronos-pool-1-daemonthread-2][AbstractScheduleExecuteHandler] jp.test.task.testATask
[2013/10/30 08:20:01][DEBUG][chronos-pool-3-thread-2][TraceInterceptor] BEGIN jp.test.task.testATask#doExecute()
[2013/10/30 08:20:01][DEBUG][chronos-pool-3-thread-2][TransactionImpl] Transaction began, tx=[FormatId=4360, GlobalId=1383088416889/3, BranchId=]
[2013/10/30 08:20:01][INFO ][chronos-pool-3-thread-2][testATask] [[testATask$$EnhancedByS2AOP$$1a3a2a52:doExecute]]
[2013/10/30 08:20:01][DEBUG][chronos-pool-1-daemonthread-1][AbstractScheduleExecuteHandler] jp.test.task.testATask
[2013/10/30 08:20:01][DEBUG][chronos-pool-1-daemonthread-2][AbstractScheduleExecuteHandler] jp.test.task.testATask
[2013/10/30 08:20:01][DEBUG][chronos-pool-3-thread-2][TraceInterceptor] BEGIN jp.test.task.testATask#doExecute()
[2013/10/30 08:20:01][DEBUG][chronos-pool-3-thread-2][TransactionImpl] Transaction began, tx=[FormatId=4360, GlobalId=1383088471177/3, BranchId=]
[2013/10/30 08:20:01][INFO ][chronos-pool-3-thread-2][testATask] [[testATask$$EnhancedByS2AOP$$ad021c3:doExecute]]
[2013/10/30 08:20:03][DEBUG][chronos-pool-3-thread-2][TraceInterceptor] END jp.test.task.testATask#doExecute() : null
[2013/10/30 08:20:03][DEBUG][chronos-pool-3-thread-2][TransactionImpl] Transaction committed, tx=[FormatId=4360, GlobalId=1383088471177/3, BranchId=]
[2013/10/30 08:20:03][DEBUG][chronos-pool-3-thread-2][TraceInterceptor] END jp.test.task.testATask#doExecute() : null
[2013/10/30 08:20:03][INFO ][chronos-pool-3-thread-2][testATask] [[testATask$$EnhancedByS2AOP$$ad021c3:end]]
[2013/10/30 08:20:03][DEBUG][chronos-pool-1-daemonthread-2][AbstractScheduleExecuteHandler] jp.test.task.testATask
[2013/10/30 08:20:03][DEBUG][chronos-pool-1-daemonthread-2][AbstractScheduleExecuteHandler] jp.test.task.testATask


[2013/10/30 08:25:01][DEBUG][chronos-pool-1-daemonthread-1][AbstractScheduleExecuteHandler] jp.test.task.testBTask
[2013/10/30 08:25:01][DEBUG][chronos-pool-1-daemonthread-3][AbstractScheduleExecuteHandler] jp.test.task.testBTask
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-2][testBTask] [[testBTask$$EnhancedByS2AOP$$334362d9:start]]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][TraceInterceptor] BEGIN jp.test.task.testBTask#doExecute()
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][TransactionImpl] Transaction began, tx=[FormatId=4360, GlobalId=1383088416889/4, BranchId=]
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-3][testBTask] [[testBTask$$EnhancedByS2AOP$$334362d9:doExecute]]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][ConnectionPoolImpl] Logical connection got, tx=[FormatId=4360, GlobalId=1383088416889/4, BranchId=]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][ConnectionWrapperImpl] Logical connection closed, tx=[FormatId=4360, GlobalId=1383088416889/4, BranchId=]
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-3][testBTask] [[testBTask$$EnhancedByS2AOP$$334362d9:doSendMail]]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][TransactionImpl] Transaction committed, tx=[FormatId=4360, GlobalId=1383088416889/4, BranchId=]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][TraceInterceptor] END jp.test.task.testBTask#doExecute() : null
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-3][testBTask] [[testBTask$$EnhancedByS2AOP$$334362d9:end]]
[2013/10/30 08:25:01][DEBUG][chronos-pool-1-daemonthread-3][AbstractScheduleExecuteHandler] jp.test.task.testBTask
[2013/10/30 08:25:01][DEBUG][chronos-pool-1-daemonthread-3][AbstractScheduleExecuteHandler] jp.test.task.testBTask
[2013/10/30 08:25:01][DEBUG][chronos-pool-1-daemonthread-1][AbstractScheduleExecuteHandler] jp.test.task.testBTask
[2013/10/30 08:25:01][DEBUG][chronos-pool-1-daemonthread-3][AbstractScheduleExecuteHandler] jp.test.task.testBTask
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-2][testBTask] [[testBTask$$EnhancedByS2AOP$$7c8a5ff0:start]]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][TraceInterceptor] BEGIN jp.test.task.testBTask#doExecute()
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][TransactionImpl] Transaction began, tx=[FormatId=4360, GlobalId=1383088471177/4, BranchId=]
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-3][testBTask] [[testBTask$$EnhancedByS2AOP$$7c8a5ff0:doExecute]]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][ConnectionPoolImpl] Logical connection got, tx=[FormatId=4360, GlobalId=1383088471177/4, BranchId=]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][ConnectionWrapperImpl] Logical connection closed, tx=[FormatId=4360, GlobalId=1383088471177/4, BranchId=]
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-3][testBTask] [[ SystemTask DueDate OrderTask.size() BBBBBBBBBBBBBBBBBB=2]]
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-3][testBTask] [[testBTask$$EnhancedByS2AOP$$7c8a5ff0:doSendMail]]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][TransactionImpl] Transaction committed, tx=[FormatId=4360, GlobalId=1383088471177/4, BranchId=]
[2013/10/30 08:25:01][DEBUG][chronos-pool-5-thread-3][TraceInterceptor] END jp.test.task.testBTask#doExecute() : null
[2013/10/30 08:25:01][INFO ][chronos-pool-5-thread-3][testBTask] [[testBTask$$EnhancedByS2AOP$$7c8a5ff0:end]]
[2013/10/30 08:25:01][DEBUG][chronos-pool-1-daemonthread-3][AbstractScheduleExecuteHandler] jp.test.task.testBTask
[2013/10/30 08:25:01][DEBUG][chronos-pool-1-daemonthread-3][AbstractScheduleExecuteHandler] jp.test.task.testBTask


実装はCCronTriggerをメンバ化している以外はexampleとほぼ同じです。
private String cronStr =testUtil.getS2ChronosProperty("s2crronProperties");
private CCronTrigger trigger =new CCronTrigger(cronStr);

原因、対処法が分からず困っております。
ご教示いただければ幸いです。
どうぞよろしくお願いします。

以下環境です。 -------------------------------- ■S2ファミリー s2chronos-core-1.0.2 s2chronos-extension-1.0.2
sa-struts-1.0.4-sp9
s2-doma-1.28.0
s2-framework-2.4.45 s2-extension-2.4.45 s2-dao-1.0.51
s2-tiger-2.4.45
 ■DB MySQL 5.6.13
以下設定です。 -------------------------------- ■chronosCustomize.dicon
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
 "http://www.seasar.org/dtd/components24.dtd">
<components>
 <component name="schedulerConfiguration" class="org.seasar.chronos.core.SchedulerConfiguration">
 <property name="daemon">true</property> 
 <property name="hotdeployDisable">true</property>
 <property name="autoFinish">true</property>
 <property name="autoFinishTimeLimit">5000L</property>
 <property name="taskScanIntervalTime">2000L</property>
 <property name="threadPoolType">@org.seasar.chronos.core.ThreadPoolType @ CACHED</property>
 </component>
</components>

-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20131030/659e7228/attachment.html>


Seasar-user メーリングリストの案内