7.6 POAマネージャによるPOA管理

POAマネージャは,POAの状態(リクエストを待ち行列に入れるか破棄するか)を管理し,POAを非活性化できます。各POAはPOAマネージャオブジェクトに対応します。POAマネージャは一つ以上のPOAを制御できます。

POAマネージャはPOAが生成された時にそのPOAに対応づけられます。使用するPOAマネージャを指定することも,nullを指定して新しいPOAマネージャを生成することもできます。

コードサンプル7-21 POAおよびそのPOAマネージャに名前を付ける(C++)

PortableServer::POAManager_var rootManager =
     rootPOA->the_POAManager();
PortableServer::POA_var myPOA =
     rootPOA->create_POA(
           "bank_servant_locator_poa", rootManager, policies);

PortableServer::POA_var myPOA = rootPOA->create_POA(
     "bank_servant_locator_poa",
     null,
     policies );

コードサンプル7-22 POAおよびそのPOAマネージャに名前を付ける(Java)

POA myPOA = rootPOA.create_POA( "bank_agent_poa",
     rootPOA.the_POAManager(),
     policies );
POA myPOA = rootPOA.create_POA( "bank_agent_poa",
     null,
     policies );

POAマネージャは,対応するPOAがすべてデストラクトされると,自身もデストラクトされます。

POAマネージャには次に示す四つの状態があります。

これらの状態は,さらにPOAの状態を決定します。これらの状態について詳しく説明します。

<この節の構成>
7.6.1 カレントの状態の取得
7.6.2 待機状態
7.6.3 アクティブな状態
7.6.4 破棄状態
7.6.5 非アクティブな状態