ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

1.20.3 Coordinatorインタフェース

Coordinatorインタフェースには、Currentインタフェースと同じ以下の機能もあります。これらの仕様は、Currentインタフェースを参照してください。

1.20.3.1 CosTransactions_Coordinator_register_synchronization

名前

CosTransactions_Coordinator_register_synchronization

形式

#include  "orb.h"
#include  "CosTransactions.h"
void  CosTransactions_Coordinator_register_synchronization(
                              CosTransactions_Coordinator  coordinator,
                              CosTransactions_Synchronization sync,
                              CORBA_Environment       *env);

機能説明

トランザクションにSynchronizationオブジェクトを登録します。
coordinatorには、Controlインタフェースのget_coordinator機能で取得したCoordinatorオブジェクトのオブジェクトリファレンスを指定します。

Synchronizationオブジェクトは、Synchronizationインタフェースを使用して作成します。

作成したSynchronizationオブジェクトを登録すると、トランザクションのcommit前と完了後にSynchronizationオブジェクトが呼び出されます。

パラメタ

coordinator

Controlインタフェースのget_coordinator機能で取得したCoordinatorオブジェクトのオブジェクトリファレンスを指定します。

sync

ユーザが作成したSynchronizationオブジェクトのオブジェクトリファレンスを指定します。

*env

例外情報を獲得するためにCORBA_Environment構造体を参照するポインタを指定します。

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

ユーザ例外の場合、以下の詳細情報が設定されます。

ex_CosTransactions_Inactive

該当トランザクションはすでにprepareが完了しています。

ex_CosTransactions_SynchronizationUnavailable

このCoordinatorは、Synchronizationインタフェースをサポートしていません。

システム例外の場合、以下の詳細情報が設定されます。

ex_CORBA_StExcep_NO_IMPLEMENT

OTSシステムが起動されていません。

ex_CORBA_StExcep_COMM_FAILURE

通信異常が発生しました。

ex_CORBA_StExcep_NO_RESOURCES

資源不足が発生しました。

ex_CORBA_StExcep_NO_MEMORY:

動的メモリの獲得に失敗しました。

ex_CORBA_StExcep_INTERNAL:

CORBAサービスで異常が発生しました。

1.20.3.2 CosTransactions_Coordinator_get_txcontext

名前

CosTransactions_Coordinator_get_txcontext

形式

#include  "orb.h"
#include  "CosTransactions.h"
CosTransactions_PropagationContext*  CosTransactions_Coordinator_get_txcontext(
                              CosTransactions_Coordinator  coordinator,
                                  CORBA_Environment       *env);

機能説明

トランザクション情報を管理しているトランザクションコンテキストを返します。

パラメタ

coordinator

Controlインタフェースのget_coordinator機能で取得したCoordinatorオブジェクトのオブジェクトリファレンスを指定します。

*env

例外情報を獲得するためにCORBA_Environment構造体を参照するポインタを指定します。

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、復帰値にトランザクションコンテキストを返します。異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

ユーザ例外の場合、以下の詳細情報が設定されます。

ex_CosTransactions_Unavailable

該当Coordinatorオブジェクトは利用できません。

システム例外の場合、以下の詳細情報が設定されます。

ex_CORBA_StExcep_NO_IMPLEMENT

OTSシステムが起動されていません。

ex_CORBA_StExcep_COMM_FAILURE

通信異常が発生しました。

ex_CORBA_StExcep_NO_RESOURCES

資源不足が発生しました。

ex_CORBA_StExcep_NO_MEMORY:

動的メモリの獲得に失敗しました。

ex_CORBA_StExcep_INTERNAL:

CORBAサービスで異常が発生しました。