bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA プログラミング・リファレンス > CORBA API |
Tuxedo CORBA プログラミング・リファレンス
|
PortableServer::POA::activate_object
概要
個別のオブジェクトを明示的に活性化します。
C++ バインディング
ObjectId * activate_object (
Servant p_servant);
引数
例外
指定のサーバントが既にアクティブ・オブジェクト・マップにある場合、ServantAlreadyActive 例外が発生します。
注記 POA でサポートされていない方針を使用する場合、ほかの例外も発生する可能性があります。
説明
このオペレーションは、ObjectId を生成し、ObjectId および指定のサーバントをアクティブ・オブジェクト・マップに入れることにより、個別のオブジェクトを明示的に活性化します。
注記 この関数がサポートされるのは、共同クライアント/サーバのみです。
戻り値
関数が成功した場合、ObjectId を返します。
例
次の例では、最初の構造体がユーザ定義のコンストラクタでサーバントを作成します。2 番目の構造体は、オブジェクトでの要求の処理にサーバントが使用可能であることを POA に通知します。POA は、そのオブジェクト用に作成した ObjectId を返します。3 番目の文は、POA に IMPLICIT_ACTIVATION 方針 (BEA Tuxedo ソフトウェアのバージョン 4.2 でのみサポートされている方針) があると想定し、オブジェクトへのリファレンスを返します。これにより、このリファレンスは呼び出し用にクライアントで処理が可能になります。クライアントがリファレンスを呼び出すと、作成されたばかりのサーバントに要求が返されます。
MyFooServant* afoo = new MyFooServant(poa,27);
PortableServer::ObjectId_var oid =
poa->activate_object(afoo);
Foo_var foo = afoo->_this();
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |