タイマー コントロールは、以下の方法で Web サービスに通知することができます。
タイマー コントロールは、これらのタスクを同時に実行することはできません。複数のタイマー タスクを実行する場合は、追加のタイマー コントロールを作成することができます。または、1 つのタイマーを実行し終了したら、タイマーの設定を変更して再度タイマーを開始することができます。
時間を指定せずにタイマーを作成した場合、デフォルトのタイマー (0 秒の相対時間のタイムアウト) が実行されます。
タイマー コントロールは、すべて com.bea.control.TimerControl 基本クラスまたは com.bea.control.TimerControlBean 基本クラスのインスタンスです。タイマー コントロールは、.java ファイルで直接宣言されます。タイマー コントロールは EJB 2.1 タイマー サービスをベースにしています。そのため、タイマーが期限切れになったときのクライアントに対するコールバックはベストエフォートで動作します。これはアプリケーションのタイマーに適していますが、リアルタイムで動作する正確なタイム サービスとは異なります。タイマー コントロールは、会話形式の (ステートフルな) Web サービスでのみ使用できます。
基本的なタイマー コントロールを作成するために、IDE では、Web サービスのコードに TimerControl の宣言およびアノテーションを挿入して属性を設定するコマンドが用意されています。
相対時間のタイムアウトと繰り返しの時間を指定するには、[プロパティー] ビューでタイマー プロパティ値を設定します。
絶対時間のタイムアウトを指定するには、タイマーを開始する前にタイマー コントロールのインスタンスで setTimeoutAt メソッドを呼び出します。また、タイマーを停止して絶対時間のタイムアウト値をリセットし、再度タイマーを開始することができます。[プロパティー] ビューで事前に繰り返しの時間値が指定されていた場合は、最初の絶対時間の経過後に繰り返しの時間が開始します。
コールバックで返されるペイロードを定義するには、タイマーを開始する前に Web サービスの setPayload メソッドを呼び出します。
他のコンフィグレーション値を設定するには、タイマー間隔の種類 (結合と非結合)、タイマーがトランザクション対応かどうか、JNDI プロバイダ URL とコンテキスト ファクトリを必要に応じて指定するプロパティを [プロパティー] ビューで設定します。
タイマーを実行するには、タイマーを宣言およびコンフィグレーションした時点で、会話形式の Web サービスを作成する必要があります。次に、アノテーション設定やメソッド呼び出しに基づいて、Web サービス内でタイマーを開始、停止、再開するオペレーション (Web メソッド) を作成します。タイマー コントロールには、ステートフルな会話形式の Web サービスが必要なため、Web メソッドを適切に設定する必要があります。
タイマーが期限切れになったときに行う処理内容を指定するには、コールバックを処理する Web サービスのイベント ハンドラを設定します。
プログラムから設定内容を変更するには (絶対時間のタイムアウト値ではなく)、TimerControlBean を使用する必要があります。この Bean は、ビルド時にコントロール フレームワークによって生成され、実行時に [プロパティー] ビューのすべてのプロパティを制御できるメソッドとプロパティを新たに提供する TimerControl インタフェースを実装します。