POAManagerオブジェクトは、POAオブジェクトの生成時、create_POA()メソッドの引数として渡すことによりPOAオブジェクトと関連付けられます。POAManagerは、以下の4つの状態を持っています。POAオブジェクトはPOAManagerの状態に従って処理を決定します。この状態は、activate()、hold_requests()、discard_requests()、deactivate()などのメソッドで変更することが可能です。
受け取ったメッセージをキューイングします。
このとき使用されるキューは、インプリメンテーションリポジトリで定義されているインプリメンテーション単位に作成されます。“OLTPサーバ運用ガイド”の“ワークユニットの設計”-“キュー制御”[CORBAアプリケーション]を参照してください。
受け取ったメッセージを処理します。
受け取ったメッセージを捨てます。この場合、クライアントへはエラーが通知されます。
shutdown直前の状態。
POAManagerオブジェクトの状態遷移を以下に示します。
POAManagerオブジェクトの初期状態は、Holding状態です。
CORBAサービスのJava言語マッピングでは、初期状態からactive状態を経由せずに、discarding状態にすることはできません。active状態とした後は、上図のように状態遷移を行うことができます。