7.6.4 破棄状態
POAマネージャが破棄状態のときは,対応するPOAは,開始していないリクエストをすべて破棄します。さらに,対応するPOAに登録されたアダプタアクティベータは呼び出されません。この状態は,POAが受信するリクエストが多過ぎる場合に便利です。プログラマは,リクエストが破棄されたことと,リクエストを再送するようにクライアントに通知する必要があります。POAが受信するリクエストが多過ぎる理由とその時期を決定する固有の動作はありません。決定は,設定済みのスレッド監視に左右されます。
POAマネージャを破棄状態に変更するには,次のように使用します。
void discard_requests(in boolean wait_for_completion) raises (AdapterInactive);
wait_for_completionオプションはBooleanです。FALSEなら,このオペレーションは状態を破棄状態に変更後すぐにリターンします。TRUEなら,このオペレーションは,状態変更より前に開始されたリクエストがすべて完了した場合か,POAマネージャが破棄以外の状態に変更された場合だけリターンします。AdapterInactiveは,このオペレーションを呼び出す前にPOAマネージャが非アクティブな状態だった場合に発生する例外です。
- 注
-
現在非アクティブな状態のPOAマネージャは,破棄状態に変更できません。