Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

5.10.3 Timer Serviceの運用

Timer Serviceの運用で使用する機能,および注意事項について説明します。

<この項の構成>
(1) Timer Serviceの運用機能
(2) Timer Serviceの運用に関する注意事項

(1) Timer Serviceの運用機能

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

これらの機能は,J2EEサーバのプロパティをカスタマイズして設定します。設定するプロパティについては,マニュアル「Cosminexus システム構築ガイド」のJ2EEサーバの動作設定のカスタマイズに関する説明を参照してください。

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

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

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

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

図5-21 コールバック最大スレッド数の設定とコールバック処理の関係

[図データ]

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

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

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

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

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

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

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

(2) Timer Serviceの運用に関する注意事項

Timer Serviceを利用する場合の注意事項について説明します。