Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド
POAは,その親POAのcreate_POAを使用して生成されます。POAには任意の名前を付けられます。ただし,同じ親を持つPOA同士の名前はすべて一意でなければなりません。二つのPOAに同じ名前を付けようとすると,CORBA例外(AdapterAlreadyExists)が発生します。
新しいPOAを生成するには,次のようにcreate_POAを使用してください。
POA create_POA(POA_Name, POAManager, PolicyList);
POAマネージャはPOAの状態(リクエストを処理するかどうかなど)を制御します。POAマネージャ名としてnullがcreate_POAに渡されると,新しいPOAマネージャオブジェクトが生成されてPOAに対応づけられます。通常は,すべてのPOAに対して同じPOAマネージャを持ちたいでしょう。POAマネージャの詳細については,「7.6 POAマネージャによるPOA管理」を参照してください。
POAマネージャ(およびPOA)は,生成後に自動的に活性化されるわけではありません。使用しているPOAに対応するPOAマネージャを活性化するには,activate()メソッドを使用してください。
CORBA::PolicyList policies; policies.length(1); policies[(CORBA::ULong)0] = rootPOA->create_lifespan_policy (PortableServer::PERSISTENT); // Create myPOA with the right policies PortableServer::POAManager_var rootManager = rootPOA->the_POAManager(); PortableServer::POA_var myPOA = rootPOA->create_POA("bank_agent_poa", rootManager, policies);
// Create policies for our persistent POA org.omg.CORBA.Policy[ ] policies = { rootPOA.create_lifespan_policy( LifespanPolicyValue.PERSISTENT)}; // Create myPOA with the right policies org.omg.PortableServer.POA myPOA = rootPOA.create_POA( "bank_agent_poa", rootPOA.the_POAManager(), policies );
All Rights Reserved. Copyright (C) 2006, Hitachi, Ltd.
COPYRIGHT (C) 1992-2004 Borland Software Corporation. All rights reserved.