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