2.4.9 @EJB
4.4 RequestTimeoutConfig クラス
説明
RMI-IIOP 通信タイムアウトを設定するオブジェクトです。
RequestTimeoutConfig クラスのパッケージ名は,com.hitachi.software.ejb.ejbclient です。
メソッド一覧
メソッド名 機能
setRequestTimeout メソッド(形式 1) RMI-IIOP 通信タイムアウトを設定します。
オブジェクトにタイムアウトを設定します。
setRequestTimeout メソッド(形式 2) RMI-IIOP 通信タイムアウトを設定します。
スレッドにタイムアウトを設定します。
unsetRequestTimeout メソッド setRequestTimeout メソッド(形式 2)で設定した RMI-IIOP 通信タイ ムアウトの設定をデフォルト設定に戻します。
setRequestTimeout メソッド(形式 1)
説明
RMI-IIOP 通信タイムアウトを設定します。obj パラメタのコピーを生成し,sec パラメタをタイムアウト 値として設定したオブジェクトを返却します。このメソッドで設定したタイムアウトは,返却されたオブ ジェクトに対して有効です。
形式
public java.rmi.Remote setRequestTimeout(java.rmi.Remote obj, int sec)
throws IllegalArgumentException, IllegalStateException;
パラメタ
obj:
タイムアウトを設定するオブジェクト(EJBHome または EJBObject)を指定します。
sec:
0〜86400 の整数でタイムアウト時間(単位:秒)を指定します。0 を指定した場合,タイムアウトを 設定しません。
例外
java.lang.IllegalArgumentException:
タイムアウト設定対象として不正なオブジェクト,またはタイムアウト時間として不正な値を指定しま した。
java.lang.IllegalStateException:
タイムアウトの設定に失敗しました。
戻り値
タイムアウト設定済みのオブジェクトを返却します。
注意事項
このメソッドでタイムアウトを設定する場合,setRequestTimeout メソッド(形式 2)を使用してタイム アウトを設定する場合に比べて,処理に時間が掛かります。
setRequestTimeout メソッド(形式 2)
説明
RMI-IIOP 通信タイムアウトを設定します。実行中のスレッドに対し,パラメタ sec をタイムアウト値とし て設定します。このメソッドで設定したタイムアウトは,現在実行中のスレッドに対して有効です。なお,
処理の終了時には,unset メソッドを使用して必ずタイムアウトの設定を解除してください。同一スレッド 内でこのメソッドを複数回呼び出した場合,タイムアウトの設定値が上書きされます。
形式
public void setRequestTimeout(int sec) throws IllegalArgumentException, IllegalStateException;
パラメタ
sec:
0〜86400 の整数でタイムアウト時間(単位:秒)を指定します。0 を指定した場合,タイムアウトを 設定しません。
例外
java.lang.IllegalArgumentException:
タイムアウト設定対象として不正なオブジェクト,またはタイムアウト時間として不正な値を指定しま した。
java.lang.IllegalStateException:
タイムアウトの設定に失敗しました。
戻り値
なし
注意事項
このメソッドでタイムアウトを設定する場合は,処理が終わった時点で必ず unsetRequestTimeout メ ソッドを呼び出してタイムアウトの設定を解除してください。解除しないと,ほかのクライアントからの呼 び出しに対して該当スレッドが使用された場合に,そのクライアントにとって意図しない通信タイムアウト が発生するおそれがあります。
unsetRequestTimeout メソッド
説明
RMI-IIOP 通信タイムアウトの設定を解除します。実行中のスレッドに対し,setRequestTimeout(形式 2)で設定したタイムアウトを解除します。なお,setRequestTimeout(形式 2)でスレッドにタイムアウ トを設定した場合は,処理の終了時に必ずこのメソッドを使用してタイムアウトの設定を解除してくださ
い。setRequestTimeout(形式 2)を呼び出さないでこのメソッドを呼び出した場合や,同一スレッド内 でこのメソッドを複数回呼び出した場合でも,例外は発生しません。
形式
public void unsetRequestTimeout() throws IllegalStateException;
パラメタ
なし
例外
java.lang.IllegalStateException:
タイムアウトの解除に失敗しました。
戻り値
なし