Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(EJBコンテナ)


2.12.4 EJBタイマの削除

EJBタイマを削除するには,EJBタイマキャンセルを行います。

なお,single-eventタイマの場合は,タイムアウトメソッドのコールバック完了時にEJBタイマが削除されます。intervalタイマの場合,EJBタイマキャンセルが行われるまでEJBタイマは削除されません。

EJBタイマキャンセルでは,EJBタイマキャンセルメソッド(javax.ejb.Timerオブジェクトのcancelメソッド)によって,EJBタイマが一つ削除されます。EJBタイマが削除されると,それ以降のコールバックは実行されません。EJBタイマキャンセルによってEJBタイマが削除されるタイミングは,EJBタイマキャンセルがトランザクションの管理下で行われるかどうかによって異なります。

EJBタイマキャンセルがトランザクションの管理下で行われる場合

EJBタイマは,トランザクションのコミット時に削除されます。そのため,EJBタイマキャンセルメソッドが呼ばれてから,トランザクションがコミットするまでの間にタイムアウト時刻になることがあります。

トランザクションがロールバックされた場合は,EJBタイマキャンセルは取り消されます。

EJBタイマキャンセルがトランザクションの管理下で行われない場合

EJBタイマは,EJBタイマキャンセルメソッドが呼ばれた直後に削除されます。

参考

J2EEアプリケーションの停止時には,停止対象のJ2EEアプリケーションのEJBタイマはすべて削除されます。J2EEサーバの停止または異常終了時には,J2EEサーバ上のEJBタイマはすべて削除されます。