[Seasar-user:15819] 【S2Chronos】タスクのリスケジューリングについて
黒川博之
[E-MAIL ADDRESS DELETED]
2008年 9月 24日 (水) 11:32:31 JST
黒川と申します。
S2Chronosで、以下の2つの方法でリスケジューリングを試みましたが
片方がうまく行かなかったので、何か方法があればお教え下さい。
【リスケジューリングされるタスククラス】
@Task
public class TestTask {
public TriggerChain trigger;
public void setTrigger(TriggerChain trigger) {
this.trigger = trigger;
}
public TaskTrigger getTrigger() {
return trigger;
}
public void doExecute() {
System.out.println("execute");
}
}
その1
タスククラスから、他タスククラスをリスケジューリング⇒OK
@Task
@NonDelayTrigger
public class SchedulerBTask {
@Resource
protected TestTask testTask;
public void doExecute() {
CDelayTrigger delayTrigger = new CDelayTrigger(10000);
TriggerChain trigger = new TriggerChain();
trigger.addTrigger(delayTrigger);
trigger.setReScheduleTask(true);
testTask.setTrigger(trigger);
System.out.println("delayをスケジュールしました。");
}
}
その2
SAStrutsから、他タスククラスをリスケジューリング⇒NG
@Execute(validator = false)
public String schedule() {
CDelayTrigger delayTrigger = new CDelayTrigger(10000);
TriggerChain trigger = new TriggerChain();
trigger.addTrigger(delayTrigger);
trigger.setReScheduleTask(true);
testTask.setTrigger(trigger);
System.out.println("delayをスケジュールしました。");
return "index.jsp";
}
見ての通り、1および2で実行されるソースは全く同じなのですが
SAStrutsからのはリスケジューリングされません。
*SAStrutsからのは、web上からコントロールできるようなアプリを想定しています。
よろしくお願いします。
Seasar-user メーリングリストの案内