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の状態を決定します。これらの状態について詳しく説明します。