22.15.2 PortableServer::ServantActivatorのメソッド
-
PortableServer::ObjectId& oid,
PortableServer::POA_ptr adapter,
PortableServer::Servant serv,
CORBA::Boolean cleanup_in_progress,
CORBA::Boolean remaining_activations);
このメソッドは,oidで指定したオブジェクトのサーバントを非活性化するときに,指定したアダプタによって呼び出されます。このメソッドは,RETAINポリシーとUSE_SERVANT_MANAGERポリシーがあることを前提とします。
-
oid
非活性化するサーバントを持つオブジェクトのオブジェクトID
-
adapter
アクティブなオブジェクトのスコープを持つPOA
-
serv
非活性化するサーバント
-
cleanup_in_progress
このパラメタにTRUEを設定した場合,etherealize_objectsパラメタにTRUEを設定したdeactivateメソッド,またはdestroyメソッドを呼び出したときに,このメソッドが呼び出されます。このパラメタにTRUEを設定しない場合,それ以外の理由でこのメソッドが呼び出されます。
-
remaining_activations
servに指定したサーバントが,adapterで指定したPOAで他オブジェクトに対応づけられている場合はTRUEを設定し,それ以外の場合はFALSEを設定します。
-
-
PortableServer::Servant incarnate(
const PortableServer::ObjectId& oid,
PortableServer::POA_ptr adapter);
このメソッドは,oidに指定した非アクティブ状態のオブジェクトに対するリクエストをPOAが受け取るたびに,POAによって呼び出されます。このメソッドは,RETAINポリシーとUSE_SERVANT_MANAGERポリシーがあることを前提とします。
このメソッドを使用するためには,指定したオブジェクトに対応する適切なサーバントを探索,および生成するサーバントマネージャのインプリメンテーションを,ユーザが提供してください。このメソッドが返すサーバントは,アクティブオブジェクトマップにも登録されます。以後,アクティブなオブジェクトに対するリクエストは,サーバントマネージャを呼び出さないで直接そのオブジェクトに対応づけられたサーバントに送られます。
このメソッドが返すサーバントが,すでにほかのオブジェクトIDに対してアクティブで,POAにUNIQUE_IDポリシーがある場合,OBJ_ADAPTER例外が発生します。
-
oid
活性化するサーバントを持つオブジェクトのオブジェクトID
-
adapter
オブジェクトを活性化するスコープを持つPOA
-