bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA プログラミング・リファレンス > TP フレームワーク |
Tuxedo CORBA プログラミング・リファレンス
|
概要
CORBA オブジェクトのアプリケーション制御の非活性化を有効にします。
C++ バインディング
current-object 形式
static void TP::deactivateEnable();
any-object 形式
static void TP::deactivateEnable(
const char* interfaceName,
const char* stroid,
Tobj_Servant servant);
引数
例外
deactivateEnable() メソッドの例外は以下のとおりです。
説明
このオブジェクトを使用すると、同時実行されているオブジェクト (オブジェクトを呼び出したメソッドの終了時)、または別のオブジェクトを非活性化できます。このメソッドは、プロセス・バウンド活性化方針が設定されたオブジェクトに対してのみ使用できます。このメソッドにより、process 活性化方針が設定されたオブジェクトをさらに柔軟に扱うことができます。
注記 シングル・スレッド・サーバの場合、TP::deactivateEnable(interface, object id, servant) メソッドを使用すると、オブジェクトを非活性化できます。ただし、オブジェクトがトランザクションに参加している場合、オブジェクトが非活性化されるのは、トランザクションがコミットまたはロールバックしたときです。トランザクションがコミットまたはロールバックする前にオブジェクトに対して呼び出しが行われた場合、オブジェクトは非活性化されません。
必要な動作が確実に実行されるようにするには、オブジェクトがトランザクションに参加していないことを確認するか、TP::deactivateEnable() を呼び出してからトランザクションが終了するまでオブジェクトに対して呼び出しが行われないようにします。
注記 マルチスレッド・サーバの場合、TP::deactivateEnable(interface, object id, servant) メソッドを使用して、オブジェクトごとのサーバのオブジェクトを非活性化することはできません。このメソッドでは、要求ごとのサーバのオブジェクトを非活性化することができますが、ほかのスレッドがオブジェクトを操作しているので、非活性化は延期されます。
呼び出されるオーバロード関数の種類によって、操作は次のようになります。
非活性化を要求されたオブジェクトに transaction 活性化方針が設定されていた場合、IllegalOperation 例外が発生します。これは、こうしたオブジェクトを非活性化すると、BEA Tuxedo トランザクション・マネージャからのトランザクション終了の通知と競合する場合があるからです。
戻り値
特にありません。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |