[Seasar-user:15188] Re: [S2chronos] タスクで例外発生時の動作について

Tetsuya Anzawa [E-MAIL ADDRESS DELETED]
2008年 7月 29日 (火) 10:33:12 JST


安澤です。
いつもお世話になっております。


> 加藤です.
>
> 2008/07/28 19:00 Tetsuya Anzawa <[E-MAIL ADDRESS DELETED]>:
>> 安澤です。
>> いつもお世話になっております。
>>
>> 質問攻めで申し訳ありません。
>
> いえいえ,関心を持っていただきありがとうございます.OSSは反響があるのが一番ですからw
> こちらも至らないところありますが,がんばりますw
>
>> 以下の点について確認させてください。
>>
>> 1.あるタスククラスの各タスクグループメソッドで例外が発生した(を返却した)場合の動作仕様。
>>   (タスクフロー制御や、タスク監視がどうなるか、など)
>
> タスクメソッドおよびタスクグループメソッドから外部(つまりスケジューラ)に例外がスローされると,
> SchedulerEventListener#exceptionTaskに通知されます.これはRC6まで.
> うーん,ちょっとこれはリスナーをわざわざ登録するのは面倒だと思いますので,RC7からタスククラスにexceptionプロパティがあるとDIするようにします.(問題なければSNAPSHOTを発行しますよ)
> 例外がスローされた後は,以後のタスクメソッドやタスクグループメソッドは実行されず,destroyメソッドが呼びだされてタスクの一連の処理は終了します.
>
> タスクの監視は,isReScheduleTaskを返すタスクなら例外が発生した後でも再度監視が開始されます.
>

上記、了解です。
お手数ですが、SNAPSHOTの発行お願い致しますw

>
>> 2.タスククラス、トリガクラス、スケジューラクラスのライフサイクル
>
> タスククラスとスケジューラは,S2によって管理されているシングルトンなインスタンスですので,ライフサイクルはコンテナ任せです.
> トリガーについては,アノテーションでトリガーを指定した場合はスケジューラ内部でトリガーのインスタンスを生成します.
> タスクの実行が終了し,スケジュールがない状態になると,ある一定時間を経て,生成されたトリガーのインスタンスを消去します.
> タスククラスの中で,トリガーを独自にnewした場合はVM任せです.
> また,ルートパッケージ+trigger.XXXXTriggerとして,SMART deploy管理下に置いた場合は,基本的にはシングルトンとなります.
>
>>
>> 3.タスク処理中は、タスク監視が行われない仕様なので、こちらで2重起動制御をする必要って
>>  基本的にないですよね。
>
> はい.二重起動はできない仕様となっています.
>
>
>>
>>
>>
>> 以上、宜しくお願い致します。
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
>
>
> -- 
> /**
> * name : Junichi Kato
> * email : [E-MAIL ADDRESS DELETED]
> *
> * blog : http://d.hatena.ne.jp/j5ik2o/
> *
> * commiting projects :
> * http://jiemamy.org/
> * http://s2chronos.sandbox.seasar.org/
> * http://s2config.sandbox.seasar.org/
> */
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user 



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