Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第3部 EJB編> 第10章 EJBサービスの機能> 10.5 EJBサービスで使用できる時間監視機能

10.5.5 EJBタイマーサービス

 EJBタイマーサービスは、EJB2.1規約から追加された機能です。本機能では、以下のようなタイマーを作成し、任意の時刻にEJBコンテナからコールバック処理を実行させることができます。

 したがって、例えば買い物をするとポイントが貯まるサービスで、毎日0:00にポイントを集計し、ポイントが貯まったお客様に販促メールを配信するといったタイマーを利用したイベント処理を作成することが可能になります。


 本機能はEJBアプリケーションでタイマーを作成する機能です。タイマーを作成したIJServerプロセスが停止した場合(メモリ不足などにより強制停止した場合を含む)には、タイマーも停止します。このため、タイマーが予期せず停止する場合がありますので、常時タイマーを起動しておきたい場合には他の時間監視機能を使用することをお勧めします。

■使用可能なEJBアプリケーション

 EJBタイマーサービスはSTATELESS Session Bean、Message-driven Beanで使用可能です。

■基本機能

■EJBタイマーサービスの有効範囲

 タイマーは生成したプロセス内でのみ使用できます。そのためEnterprise BeanのRemoteインタフェースやWebサービスのエンドポイントを通してリモート側で取得しないでください。また、クラスタ構成やプロセス多重環境での使用は未サポートです。EJBタイマーサービスを実装したEJBアプリケーションを配備してプロセス多重度を2以上に設定したIJServerで起動した場合は、IJServer21148のエラーが発生します。

 EJBタイマーサービスで生成するタイマーは、配備したモジュールが非活性になると削除されます。そのため以下の操作を行った場合、必要に応じてタイマーを再登録してください。

■タイマーの正確性と処理遅延時の動作

 負荷が集中するとタイマーの開始時間がずれる場合があります。
 タイマーの処理がすぐに完了せず、後続のタイマーの実行時間が来た場合、後続のタイマーは実行中のタイマーの完了を待ちます。実行中のタイマーが完了後、実行予定時刻が超過しているタイマーはただちに実行されます。一定間隔で実行するタイマーの場合、実行予定時刻を越えている処理分連続して実行されます。

■トランザクションとの関係

■コールバック処理が実行されるインスタンス

 コールバック処理(ejbTimeoutメソッド)はそれぞれ以下のインスタンス上で実行されます。

■EJBタイマーサービスを利用するアプリケーションの作成方法

 以降の節で、EJBタイマーサービスを利用するアプリケーションの作成方法を説明します。


下へ10.5.5.1 EJBタイマーサービスのアクセス方法
下へ10.5.5.2 監視の開始方法
下へ10.5.5.3 時間監視処理の実行方法
下へ10.5.5.4 タイマーのキャンセル・状況参照方法
下へ10.5.5.5 その他

目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED