Interstage Application Server リファレンスマニュアル(API編) |
目次
索引
![]() ![]() |
第1章 C言語インタフェース | > 1.20 その他の分散トランザクション連携インタフェース | > 1.20.3 Coordinatorインタフェース |
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オブジェクトが呼び出されます。
正常終了した場合は、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サービスで異常が発生しました。
目次
索引
![]() ![]() |