スケジューラーを使用すると、指定の時刻に J2EE アプリケーション・タスクを実行できます。スケジューラーを使用すると、アプリケーション開発者は、独自の Stateless Session EJB コンポーネントを作成して、 タスクのライフ・サイクル中のイベント通知を受信できるため、カスタムのロギング・ユーティリティーまたはワークフロー・アプリケーションの プラグインを作成できます。
Stateless Session EJB コンポーネントは汎用カレンダー機能を提供するためにも使用されます。 開発者は、既存の業務カレンダーに、付属のカレンダー Bean を使用することも、独自のものを作成することもできます。 例えば、業務プロセスの 1 つがサービスの請求書を含んでいる場合があります。 スケジューラーが Stateless EJB コンポーネントを使用することで、 請求書を受信した顧客に定期的な電子メール配信をいつ送信するかをスケジュールに入れることができます。 スケジューラー・サービスはタスクのメタデータに従ってこれらのタスクを実行し、必要に応じてこれを繰り返します。
スケジューラーとは、Enterprise Java Beans 2.1 のタイマー・サービスを実行させるメカニズムです。 EJB タイマー・サービスを構成して、スケジューラーが提供する多くのフィーチャーを使用することができます。
スケジューラー | EJB タイマー |
Stateless Session EJB コンポーネントを実行し、JMS メッセージを送信する | Stateful Session Bean 以外のすべての EJB タイプを実行します。 |
パーシスタント、トランザクション、高可用性 | パーシスタント、トランザクション、高可用性 |
タスクは 1 回のみ実行されます。 | タイマー EJB がコンテナー管理のグローバル・トランザクションを使用している場合は、1 回のみ実行されます。 |
任意の計算ルールを使用して繰り返しタスクを実行します。 | ミリ秒単位で定義した繰り返しの間隔を使用して繰り返しタスクを実行します。 |
変更した固定遅延時間計算を使用して、繰り返しの間隔 (前のタスクの開始時間に基づいた次回の実行時間) を判別します。 | 固定率の時間計算を使用して、繰り返しの間隔 (元の予定時間に基づいた次回のタスク実行時間) を判別します。 |
NotificationSink Stateless Session EJB を使用したプログラマチックなタスク・モニター機能 | プログラマチック・タイマーのモニターはなし |
遅延タスクまたは時間依存タスクの実行の異常終了 | 遅延タスクまたは時間依存タスクの実行を異常終了します (javax.ejb.TimedObject インプリメンテーション内の手動検出により実行)。 |
任意のタスクのライフ・サイクルの管理 (プログラマチックな、および Java Management Extensions (JMX) による、タスクの検索、中断、再開、取り消し、パージ)。 | タイマーをプログラマチックに検索および取り消します。 管理者は、コマンド行ユーティリティーを使用してタイマーを検索および取り消します。 |
名前のように、限定されたデータ付きテキストの保管 (外部に保管される任意のデータ)。 | タイマー付きの任意のデータを保管します。 |
このタスクは、スケジューラーおよび後続のタスクをどのように管理、作成、そして、相互運用するかを示します。