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

2.19.4 Terminatorインタフェース

  Terminatorインタフェースで提供される機能は、Currentインタフェースで提供されるcommit、rollback機能と同じです。よって、Currentインタフェースとの併用はできません。

2.19.4.1 CosTransactions::Terminator::commit

名前

  CosTransactions::Terminator::commit

形式

  #include  "orb_cplus.h"
  #include  "CosTransactions_cplus.h"
  void  CosTransactions::Terminator::commit(
                        CORBA::Boolean       report_heuristics,
                        CORBA::Environment&      env);

機能説明

  トランザクションをcommitします。
  Currentインタフェースのcommit相当の機能を作成する場合に使用します。よって、Currentインタフェースとの併用はできません。

パラメタ

  report_heuristics

  CORBA_TRUEを指定するとヒューリスティックエラーが通知されます。

  env

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

復帰値

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

  ユーザ例外の場合、以下の例外クラスが通知されます。
CosTransactions::HeuristicMixed:
  トランザクションの完了状態は、いくつかがcommitされ、いくつかがrollbackされた状態です。
CosTransactions::HeuristicHazard:
  トランザクションの完了状態不明です。
  システム例外の場合、以下の例外クラスが通知されます。
CORBA::StExcep::TRANSACTION_ROLLEDBACK:
  トランザクションがロールバックされています。
CORBA::StExcep::NO_IMPLEMENT:
  OTSシステム、またはリソース管理プログラムが起動されていません。
CORBA::StExcep::COMM_FAILURE:
  通信異常が発生しました。
CORBA::StExcep::NO_RESOURCES:
  資源不足が発生しました。
CORBA::StExcep::NO_MEMORY:
  動的メモリの獲得に失敗しました。
CORBA::StExcep::INTERNAL:
  CORBAサービスで異常が発生しました。

2.19.4.2 CosTransactions::Terminator::rollback

名前

  CosTransactions::Terminator::rollback

形式

  #include  "orb_cplus.h"
  #include  "CosTransactions_cplus.h"
  void  CosTransactions::Terminator::rollback(
                                CORBA::Environment&      env);

機能説明

  トランザクションをrollbackします。
  Currentインタフェースのrollback相当の機能を作成する場合に使用します。よって、Currentインタフェースとの併用はできません。

パラメタ

  env

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

復帰値

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

CORBA::StExcep::TRANSACTION_ROLLEDBACK:
  トランザクションがロールバックされています。
CORBA::StExcep::NO_IMPLEMENT:
  OTSシステム、またはリソース管理プログラムが起動されていません。
CORBA::StExcep::COMM_FAILURE:
  通信異常が発生しました。
CORBA::StExcep::NO_RESOURCES:
  資源不足が発生しました。
CORBA::StExcep::NO_MEMORY:
  動的メモリの獲得に失敗しました。
CORBA::StExcep::INTERNAL:
  CORBAサービスで異常が発生しました。