[Seasar-user:14536] [S2Chronos] Daoを実行するとスケジューリングされない
takemura
[E-MAIL ADDRESS DELETED]
2008年 6月 4日 (水) 00:06:41 JST
竹村と申します。
Teeda + S2Chronos 0.0.1-RC3で
@CronTriggerでスケジューリングしているのですが
タスクの中でDaoを実行するとdestroyの処理が実行されず
スケジューリングされません。
Daoの実行部分のみをコメントアウトすると正常にスケジューリング
されます。
トランザクション系が問題なのかと思いcustomizer.diconの
taskSupportAspectCustomizerにj2ee.requiredTxを加えてトランザクション
アスペクトを追加しましたがうまく行きませんでした。
destroy処理が実行されないのが問題なのだと思いますが原因をご存知の
方はおられますでしょうか。
DaoではなくPOJOのServiceで試したところスケジューリングは正常動作致しました。
例)
@Task
@CronTrigger(expression = "0 */1 * * * ?")
public class BasicATask {
public DeptDao deptDao;
public AgeService ageService;
// 初期化処理
@NextTask("taskA")
public void initialize() {
System.out.println("initialize A");
}
// タスク処理
public void doTaskA() {
System.out.println("doTaskA");
ageService.someLogic();
// List<Dept> deptList = deptDao.selectAll();
// for(Dept dept : deptList){
// System.out.println(dept.getDeptName());
// }
//Daoを実行すると2回目が実行されない(destoryも実行されない)
}
// 終了処理
public void destroy() {
System.out.println("destroy A");
}
}
Seasar-user メーリングリストの案内