[Seasar-user:21479] 【S2Chronos】複数のタスクからのCronTrigger登録について
Shinsuke Sekiguchi
[E-MAIL ADDRESS DELETED]
2012年 9月 28日 (金) 12:36:45 JST
お世話になっております。
関口と申します。
現在、複数タスククラスの処理をS2Chronosにて
スケジューリング実行しようと考えています。
スケジュール情報は、プロパティファイルに定義しておき、
Initializse()メソッド内でCronTriggerに登録して
実行しようとしています。
全てのタスククラスでプロパティファイルから取り出した
スケジュール情報を登録すると全てのタスククラスが動作する
のですが、どれか1つでも登録しないと全ての
タスクが動作しなくなってしまいます。
以下に実装例を挙げさせて頂きますので、
何か実装方法に問題があるようでしたら
ご教示をお願いします。
■s2Chronosライブラリ
・s2chronos-core-1.0.0.jar
・s2chronos-extention-1.0.0.jar
■s2Chronos.properties(トリガー情報を定義する自作プロパティファイル)
#タスクA
TESTA=0 */1 * * * ?
# タスクB
TESTB=30 */1 * * * ?
★共に有効にしておくと正常動作するが、どちらかを
コメント化すると全タスククラスが動作しなくなる。
■タスクA、B(TestA⇒TestB、TESTA⇒TESTBのみ差分)
@Task
public class TestATask {
// トリガー
private CCronTrigger trigger = new CCronTrigger();
public void initialize() {
// プロパティファイルからスケジュール情報取得
String cronStr =
ResourceUtil.getProperties("s2Chronos.properties").getProperty("TESTA");
if (cronStr != null) {
// Chronosスケジューラにスケジュール登録
this.trigger.setExpression(cronStr);
} else {
// ERRORログ出力
}
@NextTask("Test11")
public void start() {
// INFOログ出力
}
public void doTest11() {
// INFOログ出力
}
}
以上、宜しくお願いします。
Seasar-user メーリングリストの案内