Hitachi

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


2.12.5 Timer Serviceの運用機能

Timer Serviceの運用で使用する機能について説明します。運用機能には次の二つがあります。

これらの機能は,J2EEサーバのプロパティをカスタマイズして設定します。設定するプロパティについては,「2.12.9 実行環境での設定」を参照してください。

〈この項の構成〉

(1) タイムアウトメソッドのコールバックスレッド数制御機能

タイムアウトメソッドのコールバックを処理するスレッドを,J2EEサーバ全体で同時に幾つ実行するかを設定します。これをコールバック最大スレッド数といいます。

複数のEJBタイマが同時にタイムアウトした場合,タイムアウトメソッドのコールバックの最大スレッド数の設定によって,次のような動作になります。

コールバック最大スレッド数の設定とコールバック処理の関係について次の図に示します。

図2‒25 コールバック最大スレッド数の設定とコールバック処理の関係

[図データ]

この図の場合,EJBタイマ1のタイムアウトの1分後に,EJBタイマ2のタイムアウトになる設定にしています。コールバック最大スレッド数を1に設定した場合は,EJBタイマ1のコールバック処理が終了したあと,EJBタイマ2のコールバック処理が開始されます。コールバック最大スレッド数を2に設定した場合は,二つのコールバックを並行して処理できるため,設定どおりにEJBタイマ1の1分後にEJBタイマ2のコールバック処理が開始されます。

注意事項

コールバックのスレッド数に余裕がある場合でもEnterprise Beanのインスタンスが不足していると,インスタンスが解放されるのを待ってコールバック処理が行われます。そのため,コールバックするインスタンス数を考慮してEnterprise Beanインスタンスプールを設定してください。

(2) タイムアウトメソッドのコールバックリトライ

タイムアウトメソッドのコールバックに失敗した場合は,コールバックをリトライします。

コールバックが失敗する要因として次のケースが考えられます。

コールバックのリトライを行うには,次の二つを設定します。

リトライ回数

リトライする回数を設定します。0を設定した場合は,リトライしません。また,リトライ実行回数が設定したリトライ回数に達すると,そのタイムアウトでのリトライは行いません。

リトライの実行間隔

コールバックが失敗してから,リトライのコールバックを行うまでの時間を設定します。