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

2.19.3 Coordinatorインタフェース

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

2.19.3.1 CosTransactions::Coordinator::register_synchronization

名前

  CosTransactions::Coordinator::register_synchronization

形式

  #include  "orb_cplus.h"
  #include  "CosTransactions_cplus.h"
  void  CosTransactions::Coordinator::register_synchronization(
                                CosTransactions::Synchronization sync,
                                CORBA::Environment&       env);

機能説明

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

パラメタ

  sync

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

  env

  例外情報を獲得するためにCORBA::Environmentオブジェクトを指定します。

復帰値

  正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
  異常終了した場合は、envのexceptionメンバにSystemExceptionまたはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

  ユーザ例外の場合、以下の例外クラスが通知されます。
CosTransactions::Inactive
  該当トランザクションはすでにprepareが完了しています。
CosTransactions::SynchronizationUnavailable
  このCoordinatorは、Synchronizationインタフェースをサポートしていません。
  システム例外の場合、以下の例外クラスが通知されます。
CORBA::StExcep::NO_IMPLEMENT:
  OTSシステムが起動されていません。
CORBA::StExcep::COMM_FAILURE:
  通信異常が発生しました。
CORBA::StExcep::NO_RESOURCES
  資源不足が発生しました。
CORBA::StExcep::NO_MEMORY:
  動的メモリの獲得に失敗しました。
CORBA::StExcep::INTERNAL:
  CORBAサービスで異常が発生しました。

2.19.3.2 CosTransactions::Coordinator::get_txcontext

名前

  CosTransactions::Coordinator::get_txcontext

形式

  #include  "orb_cplus.h"
  #include  "CosTransactions_cplus.h"
  CosTransactions::PropagationContext*  CosTransactions::Coordinator::get_txcontext(
                                    CORBA::Environment&       env);

機能説明

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

パラメタ

  env

  例外情報を獲得するためにCORBA::Environmentオブジェクトを指定します。

復帰値

  正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
  異常終了した場合は、envのexceptionメンバにSystemExceptionまたはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

  ユーザ例外の場合、以下の例外クラスが通知されます。
CosTransactions::Unavailable
  該当Coordinatorオブジェクトは利用できません。
  システム例外の場合、以下の例外クラスが通知されます。
CORBA::StExcep::NO_IMPLEMENT:
  OTSシステムが起動されていません。
CORBA::StExcep::COMM_FAILURE:
  通信異常が発生しました。
CORBA::StExcep::NO_RESOURCES
  資源不足が発生しました。
CORBA::StExcep::NO_MEMORY:
  動的メモリの獲得に失敗しました。
CORBA::StExcep::INTERNAL:
  CORBAサービスで異常が発生しました。