EJB タイマー・サービス設定
このページを使用して、特定の EJB コンテナー用の Enterprise JavaBeans (EJB) タイマー・サービスを構成および管理します。
この管理コンソール・ページを表示するには、
とクリックします。パーシスタント・タイマーと非パーシスタント・タイマーの両方が同時に存在 することができ、パーシスタント構成と非パーシスタント構成は互いに排他的では ありません。アプリケーションはパーシスタント・タイマーと非パーシスタント・タイマーの両方を使用することができます。
サーバーがシャットダウンされ、再始動される間もタイマーを維持する必要がある場合は、パーシスタント・タイマーを使用してください。そうでなく、サーバーがシャットダウンするとタイマーを取り消す必要がある場合は、非パーシスタント・タイマーを使用します。
サーバーが使用不可であるためにパーシスタント・タイマーが動かない場合、 行われなかった試行はサーバーが再始動したときにリカバリーされます。サーバーが使用不可であるために非パーシスタント・タイマーが動かない場合は、 行われなかった試行はリカバリーされません。これは、非パーシスタント・タイマーはサーバーのシャットダウンで取り消されるためです。
パーシスタント EJB タイマー構成
内部 EJB タイマー・サービスのスケジューラー・インスタンスを使用
この製品では、EJB タイマー・サービスで使用する内部スケジューラー・インスタンスを提供しています。内部スケジューラー・インスタンスは、基本的な EJB タイマー機能のために事前構成されていて、EJB タイマー・サービス用の限定された構成設定を提供します。
パーシスタント・タイマー・タスクを管理するために内部スケジューラー・インスタンスを使用することを 指定できます。この場合、タスクはサーバー・プロセスに関連した Derby データベースに固定されます。 これを選択すると、「カスタム・スケジューラー・インスタンスを使用」オプションは排除されます。
内部スケジューラー・インスタンスがデフォルトです。あるいは、カスタム・スケジューラー・インスタンスを使用できます。
カスタム・スケジューラー・インスタンスを使用
カスタム・スケジューラー・インスタンスを定義すると、EJB タイマー・サービスのより高度な構成を実行することができます。
カスタム・スケジューラー・インスタンスでは、内部 EJB タイマー・サービスの事前定義スケジューラー・インスタンス以外にも、構成オプションを提供しています。 クラスター環境で実行する場合にカスタム・スケジューラー・インスタンスを定義して、 すべてのクラスター・メンバーを単一のスケジューラー・インスタンスで実行できるようにすることも可能です。 この定義により、1 つのクラスター・メンバー上で作成されたパーシスタント EJB タイマーを、 他のクラスター・メンバー上で実行することができます。 カスタム・スケジューラー・インスタンスを提供すると、 パーシスタント EJB タイマーを、スケジュールされた他のタスクと同じデータベース内で保守することもできます。 これを選択すると、「内部 EJB タイマー・サービスのスケジューラー・インスタンスを使用」オプションは排除されます。
カスタム・スケジューラー・インスタンスを定義して、 スケジューラー・サービスによって使用されるスレッドを、EJB タイマー・サービスによって 使用されるスレッドから分離することができます。カスタム・スケジューラー・インスタンスからの EJB タイマー・サービス・スレッド を非パーシスタント・タイマーとで使用するために共有するか、 または、非パーシスタント・タイマー用に別のスレッド・プールを構成することがあります。EJB タイマー専用にした スレッド・プールがある場合でも、使用可能なスレッドの数が十分でないと、 タイマーの期限切れが遅れることがあります。タイマー数とタイマーの期限切れの頻度を 評価して、スレッド数を決める必要があります。
データ・ソース JNDI 名
この EJB コンテナー用のパーシスタント EJB タイマーが保管されるデータ・ソースの、 Java™ Naming and Directory Interface (JNDI) 名を指定します。 名前空間で使用可能なデータ・ソースは、 EJB タイマーで使用できます。
複数の EJB コンテナーが、テーブルの接頭部を指定することで、異なるテーブルを使用しながら 1 つのデータ・ソースを共有できます。
通知 | 値 |
---|---|
データ型 | ストリング |
デフォルト | jdbc/DefaultEJBTimerDataSource |
データ・ソース別名
データ・ソースへのアクセスに使用されるユーザー名およびパスワードの認証別名を指定します。
通知 | 値 |
---|---|
データ型 | ストリング |
テーブルの接頭部
EJB タイマー・サービスのテーブル名の前に付加されるストリング (TASK、TREG、LMGR および LMPR)。 これらのテーブルが作成されていない場合は、サーバーの始動時に作成されます。 これらのテーブルを手動で作成する方法については、スケジューラー・サービスを参照してください。 各インスタンスで異なる接頭部ストリングを指定した場合、 複数の独立した EJB タイマー・サービスが同じデータベースを共有できます。 指定されたスケジューラーからタイマーを削除するために removeAutomaticEJBTimers コマンド が使用される場合、そのスケジューラーは固有のテーブル接頭部を 持っている必要があります。そうでないと、予期していたより多くのタイマーが 削除される場合があります。
通知 | 値 |
---|---|
データ型 | ストリング |
デフォルト | EJBTIMER_ |
ポーリング間隔
EJB タイマー・サービス・デーモンがデータベースをポーリングする間隔を指定します。各ポーリング・オペレーションは高価です。間隔が小さく、 複数のタスクがスケジュールされている場合、 ポーリングは非常に多くのシステム・リソースを使用します。新規タイマーをこの間隔よりも早く期限切れになるように設定した場合、 このタイマーは、この間隔が経過するまで実行されないことがあります。この値が大きすぎる場合、 多数のタイマー・イベントがメモリーにロードされる可能性があります。これは、次のポーリング間隔に発生するすべてのタイマー・イベントが毎回ロードされるため です。
通知 | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 300 |
範囲 | 3 から 1800 まで |
タイマー・スレッド数
並行した EJB タイマー・タスクを実行する場合に使用されるスレッド数。タイマー・スレッド数をゼロに設定すると、EJB タイマー・サービスは使用不可になります。
通知 | 値 |
---|---|
データ型 | 整数 |
デフォルト | 1 |
範囲 | 0 から 500 まで |
スケジューラー JNDI 名
EJB タイマーの管理、継続に使用するカスタム・スケジューラー・インスタンスの JNDI 名を指定します。 このフィールドは、「カスタム・スケジューラー・インスタンスを使用」が 選択された場合のみ使用されます。内部 EJB タイマー・サービス・スケジューラー・インスタンスの構成情報 は、ここで指定したスケジューラー・インスタンスには適用されません。
通知 | 値 |
---|---|
データ型 | ストリング |
非パーシスタント EJB タイマー構成
最大再試行回数
失敗したタイムアウトを再試行できる最大数を 指定します。タイムアウトが再試行で成功すると、サーバーは それ以上の試行を停止します。再試行が失敗した場合、 タイムアウトが成功するか、タイムアウト制限に達するまで、 サーバーは再試行を続けます。再試行限度に達したら、タイムアウトが成功しなかった場合でも、 サーバーはタイムアウトの実行を試行しません。デフォルト値 の -1 は、無制限の再試行を示します。値 0 は、再試行なしを示し、 仕様に準拠していません。1 以上の値 は、その特定の回数だけ再試行が許可されることを示します。
通知 | 値 |
---|---|
データ型 | 整数 |
デフォルト | -1 |
範囲 | -1 以上 |
再試行の時間間隔
失敗したタイムアウトの再試行の間隔を 指定します。ここで構成される間隔に関係なく、 最初の再試行は常にすぐ発生します。追加の再試行は、 ここで指定された間隔だけ待機します。値 0 は、すべての再試行が 即時であることを示します。1 以上の値は、 その特定の秒数だけ再試行は待機する必要があることを示します。
通知 | 値 |
---|---|
データ型 | 整数 |
デフォルト | 300 秒 |
範囲 | 0 以上 |
タイマー・スレッド数
非パーシスタント・タイマー用に使用される固有のスレッド・プール 内で使用可能なスレッドの数を指定します。この構成オプションは、 非パーシスタント・タイマーがスレッド・プールをパーシスタント・タイマーと 共有しない場合のみ使用可能です。この構成オプションは、「パーシスタント EJB タイマー構成」セクションの「タイマー・スレッド数」構成オプション とは異なります。このオプションは、デフォルト内部スケジューラー・インスタンスを 使用するパーシスタント・タイマーにのみ適用されるからです。
通知 | 値 |
---|---|
データ型 | 整数 |
デフォルト | 1 |
範囲 | 0 から 500 まで |