[Seasar-user:14580] Re: [S2Chronos] Daoを実行するとスケジューリングされない

Junichi Kato [E-MAIL ADDRESS DELETED]
2008年 6月 6日 (金) 10:13:31 JST


竹村様,
加藤です.

お世話になっております.
いろいろとご迷惑お手数をお掛けして申し訳ありません.
スレッドについては,concurrentパッケージのExecutorに任せているのですが,
何かやらかしているかもしれませんw
日中は動きにくいのですが,なんとか今晩デバッグして修正してみます.
よろしくお願いします.



takemura さんは書きました:
> 加藤 様
>
> お世話になっております。竹村です。
>
> 頂いたスナップショットのバージョンでクーロントリガー
> でのスケジューリングの動作は確認できたのですが、
> しばらく動作させておくと、どんどんスレッドが増えていって
> いるように見えます。
> 試しに1日稼動させておいたのですがeclipse上のデバックモニタを見ると
> ものすごい量のスレッド数になっていました。
> それでも稼動はしつづけていますが特に問題はないもものなのでしょうか?
>
>
>
>
>
>
>
> Junichi Kato さんは書きました:
>   
>> 竹村様
>> 加藤(j5ik2o)です.
>>
>> お世話になります.
>>
>> スナップショットを発行しました.
>> このjarで一度試してもらってもよいでしょうか?(おそらくcoreだけの差し替え
>> でよいはずです)
>> よろしくお願いいたします.
>>
>> https://www.seasar.org/maven/maven2-snapshot/org/seasar/chronos/s2chronos-core/0.0.1-RC3-SNAPSHOT/s2chronos-core-0.0.1-RC3-20080604.053714-2.jar
>> https://www.seasar.org/maven/maven2-snapshot/org/seasar/chronos/s2chronos-extension/0.0.1-RC3-SNAPSHOT/s2chronos-extension-0.0.1-RC3-20080604.053714-2.jar
>>
>>
>> takemura さんは書きました:
>>     
>>> 竹村と申します。
>>>
>>> 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 mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>   
>>>       
>> http://d.hatena.ne.jp/j5ik2o/
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>>     
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>   



Seasar-user メーリングリストの案内