bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA プログラミング・リファレンス > TP フレームワーク |
Tuxedo CORBA プログラミング・リファレンス
|
Tobj_ServantBase:: activate_object()
概要
オブジェクト ID をサーバントに関連付けます。このメソッドによって、アプリケーションでは、オブジェクトが活性化されたときにオブジェクトの状態を復元できます。状態は、共用メモリ、通常のフラット・ファイル、またはデータベース・ファイルから復元できます。
C++ バインディング
class Tobj_ServantBase : public PortableServer::ServantBase {
public:
virtual void activate_object(const char * stroid) {}
};
引数
注記 このリリースでは、オブジェクト ID の長さに関する制約がなくなりました。
説明
オブジェクトの活性化は、クライアントが活性化されていない CORBA オブジェクトのメソッドを呼び出すことで開始されます。これにより、ポータブル・オブジェクト・アダプタ (POA) がサーバントを CORBA オブジェクトに割り当てます。activate_object() メソッドは、クライアントが呼び出したメソッドの前に呼び出されます。activate_object() から正常に制御が戻った場合、つまり例外が発生しなかった場合、要求されたメソッドがサーバントで実行されます。
プログラマは、activate_object() および deactivate_object() メソッドとクライアントが呼び出すメソッドを使用して、オブジェクトの状態を管理できます。これらのメソッドを使用してオブジェクトの状態を管理する方法は、アプリケーションのニーズによって異なります。これらのメソッドの使い方については、『BEA Tuxedo CORBA サーバ・アプリケーションの開発方法』を参照してください。
オブジェクトがグローバル・トランザクションに関与している場合、activate_object() はそのグローバル・トランザクションのスコープ内で実行されます。
オブジェクトのプログラマは、格納されているオブジェクトの状態が矛盾していないかどうかをチェックする必要があります。つまり、アプリケーション・コードでは、deactivate_object() がオブジェクトの状態を正しく保存したかどうかを示す永続性フラグを保存する必要があります。このフラグを activate_object() でチェックします。
戻り値
特にありません。
例外
activate_object() の実行中にエラーが発生した場合、アプリケーション・コードでは、CORBA 標準例外または TobjS::ActivateObjectFailed 例外を生成する必要があります。例外が発生すると、TP フレームワークは例外をキャッチして、以下のイベントが発生します。
注記 オペレーション呼び出しを受信したときにトランザクションを自動的に開始する場合、各 CORBA インターフェイスに対して、AUTOTRAN を Yes に設定します。AUTOTRAN を Yes に設定しても、インターフェイスが既にトランザクション・モードにある場合は無効です。AUTOTRAN の詳細については、『BEA Tuxedo CORBA トランザクション』を参照してください。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |