タイマー設定の動的な変更

タイマー設定を動的に再コンフィグレーションする場合、基本となる TimerControl インタフェースではなく、TimerControlBean を使用する必要があります。

TimerControlBean は、[プロパティー] ビューに表示されるすべてのパラメータ値をプログラム上で取得および設定するメソッドを新たに提供します。

TimerControlBean の使用

[挿入|コントロール] コマンドでタイマー コントロールを作成すると、デフォルトのアノテーションが挿入されて TimerControl インタフェースが使用されます。

@Control 
private TimerControl timerControl;

代わりに TimerControlBean を使用するには、タイマー コントロール宣言の行で TimerControlTimerControlBean に変更するだけです。その場合、TimerControlBean は新たにインポートが必要になるため、クラス宣言行のマーカー バーにエラー マーカーが表示されます。エラー マーカーを右クリックして、[クイック・フィックス] を選択します。[クイック・フィックス] プルダウンが表示されます。

['TimerControlBean' をインポートします] をクリックして〔Enter〕を押します。新しい import 行を以下に示します。

import com.bea.control.TimerControlBean;
この行がコードの上部に挿入されて、問題マーカーは表示されなくなります。

TimerControlBean のメソッドの呼び出し

TimerControlBeanTimerControl インタフェースを実装し、以下のメソッドを新しく定義します。このメソッドによって、タイマーのプロパティ値を取得または設定することができます。

メソッド 説明
String getTimerSettingJNDIContextFactory() JNDI コンテキスト ファクトリを返す。
String getTimerSettingJNDIProviderURL() JNDI プロバイダ URL を返す。
String getTimerSettingRepeatsEvery() 繰り返しのタイマー設定における相対時間 (文字列) を返す。
Long getTimerSettingRepeatsEverySeconds() 繰り返しのタイマーの秒数を返す。
String getTimerSettingTimeout() タイムアウトの相対時間 (文字列) を返す。
Long getTimerSettingTimeoutSeconds() タイムアウトの秒数を返す。
void setTimerSettingJNDIContextFactory(String arg0) JNDI コンテキスト ファクトリを設定する。
void setTimerSettingJNDIProviderURL(String arg0) JNDI プロバイダ URL を設定する。
void setTimerSettingRepeatsEvery(String arg0) 相対時間 (文字列) を指定して繰り返しのタイマーを設定する。
void setTimerSettingRepeatsEverySeconds(Long arg0) 指定した秒数を繰り返しのタイマーに設定する。
void setTimerSettingTimeout(String arg0) 相対時間 (文字列) を相対時間のタイムアウトに設定する。
void setTimerSettingTimeoutSeconds(Long arg0) 指定した秒数を相対時間に設定する。

setTimerSettingxxx メソッドは、タイマーがすでに開始している場合には効果がありません。値を設定するには、タイマーを停止し、メソッドを呼び出して値を設定した後、タイマーを開始する必要があります。これは、新しいタイマー オブジェクトを作成するのではなく、既存のコントロールを再開するだけです。

getTimerSettingxxx メソッドで、タイマーが実行中か停止中かを判別することができます。

関連トピック

WebLogic システム コントロールの使用

タイマー コントロール

TimerControl インタフェース

タイマー コントロール リファレンス

チュートリアル : タイマー コントロールの作成

 


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。