[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 メーリングリストの案内