3.7.2.2.4 説明

オブジェクトのアクティブ化は、クライアントがアクティブ化されていないCORBAオブジェクトのメソッドを呼び出すことで開始されます。これにより、ポータブル・オブジェクト・アダプタ(POA)がサーバントをCORBAオブジェクトに割り当てます。activate_object()メソッドは、クライアントが呼び出したメソッドの前に呼び出されます。activate_object()から正常に制御が戻った場合、つまり例外が発生しなかった場合、リクエストされたメソッドがサーバントで実行されます。

プログラマは、activate_object()およびdeactivate_object()メソッドとクライアントが呼び出すメソッドを使用して、オブジェクトの状態を管理できます。これらのメソッドを使用してオブジェクトの状態を管理する方法は、アプリケーションのニーズによって異なります。これらのメソッドの使用方法は、「CORBAサーバー・アプリケーションの作成」を参照してください。

オブジェクトがグローバル・トランザクションに関与している場合、activate_object()はそのグローバル・トランザクションのスコープ内で実行されます。

オブジェクトのプログラマは、格納されているオブジェクトの状態が一貫性があるかどうかをチェックする必要があります。つまり、アプリケーション・コードでは、deactivate_object()がオブジェクトの状態を正しく保存したかどうかを示す永続性フラグを保存する必要があります。このフラグをactivate_object()でチェックします。