6.3.1 rootPOAのリファレンスの取得

オブジェクトを管理したり新たにPOAを作成したりするために,すべてのサーバアプリケーションはrootPOAのリファレンスを取得する必要があります。

コードサンプル6-3 rootPOAのリファレンスの取得(C++)

// get a reference to the rootPOA
CORBA::Object_var obj =
     orb->resolve_initial_references("RootPOA");
// narrow the object reference to a POA reference
PortableServer::POA_var rootPOA =
     PortableServer::POA::_narrow(obj);

コードサンプル6-4 rootPOAのリファレンスの取得(Java)

//2.Get a reference to the rootPOA
org.omg.CORBA.Object obj =
                 orb.resolve_initial_references("RootPOA");
// Narrow the object reference to a POA reference
POA rootPoa =  org.omg.PortableServer.POAHelper.narrow(obj);

rootPOAのリファレンスは,resolve_initial_referencesを使用して取得できます。resolve_initial_referencesは,CORBA::Object型の値を返します。返されたオブジェクトリファレンスを希望の型(上記のサンプルではPortableServer::POA)にナロウするのはプログラマの責任です。

これで,必要ならこのリファレンスを使用してほかのPOAを作成できるようになります。