Coordinatorインタフェースには、Currentインタフェースと同じ以下の機能もあります。これらの仕様は、Currentインタフェースを参照してください。
get_status
rollback_only
get_transaction_name
名前
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オブジェクトが呼び出されます。
パラメタ
Controlインタフェースのget_coordinator機能で取得したCoordinatorオブジェクトのオブジェクトリファレンスを指定します。
ユーザが作成したSynchronizationオブジェクトのオブジェクトリファレンスを指定します。
例外情報を獲得するために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サービスで異常が発生しました。
名前
CosTransactions_Coordinator_get_txcontext
形式
#include "orb.h" #include "CosTransactions.h" CosTransactions_PropagationContext* CosTransactions_Coordinator_get_txcontext( CosTransactions_Coordinator coordinator, CORBA_Environment *env);
機能説明
トランザクション情報を管理しているトランザクションコンテキストを返します。
パラメタ
Controlインタフェースのget_coordinator機能で取得したCoordinatorオブジェクトのオブジェクトリファレンスを指定します。
例外情報を獲得するために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サービスで異常が発生しました。