[Seasar-user:16183] 【S2Chronos】CronTriggerを安全に停止する方法について
Satoru Ogura
[E-MAIL ADDRESS DELETED]
2008年 10月 30日 (木) 11:41:31 JST
お世話になっております。
小椋と申します。
現在、CronTriggerを5分おきに実行しております。
システムのメンテナンス等で計画停止する場合に確実にタスクが
実行されていない状態で停止したいと思っております。
setEndTask(true)で次の実行を行わないようにしようとしましたが、
CCronTriggerにはsetEndTaskが実装されていないため、停止できません。
setEndTaskをオーバーライドして実装しても問題ないのでしょうか?
どのような方法が推奨される方法でしょうか?
以下、テストで使用したソースです。
タスククラス
@Task
public class TestTask {
private TriggerChain trigger = new TriggerChain();
public TaskTrigger getTrigger() {
return trigger;
}
// 初期化
public void initialize() {
CCronTrigger cron = new CCronTrigger();
cron.setExpression("0 */1 * * * ?");
trigger.addTrigger(cron);
}
// タスク処理
public void doExecute() throws Exception {
}
}
タスクを停止しようとしているクラス
public class SchedulerServiceImpl implements SchedulerService {
public TestTask testTask;
public void end() throws Exception {
testTask.getTrigger().setEndTask(true);
}
}
以上、よろしくお願い致します。
Seasar-user メーリングリストの案内