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

1.19.4 Terminatorインタフェース

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

1.19.4.1 CosTransactions_Terminator_commit

名前

  CosTransactions_Terminator_commit

形式

  #include  "orb.h"
  #include  "CosTransactions.h"
  void  CosTransactions_Terminator_commit(
                        CosTransactions_Terminator  terminator,
                        CORBA_boolean           report_heuristics,
                        CORBA_Environment       *env);

機能説明

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

パラメタ

  terminator

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

  report_heuristics

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

  *env

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

復帰値

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

  ユーザ例外の場合、以下の詳細情報が設定されます。
ex_CosTransactions_HeuristicMixed:
  トランザクションの完了状態は、いくつかがcommitされ、いくつかがrollbackされた状態です。
ex_CosTransactions_HeuristicHazard:
  トランザクションの完了状態不明です。
  システム例外の場合、以下の詳細情報が設定されます。
ex_CORBA_StExcep_TRANSACTION_ROLLEDBACK:
  トランザクションがロールバックされています。
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.19.4.2 CosTransactions_Terminator_rollback

名前

  CosTransactions_Terminator_rollback

形式

  #include  "orb.h"
  #include  "CosTransactions.h"
  void  CosTransactions_Terminator_rollback(
                                CosTransactions_Terminator terminator,
                                CORBA_Environment       *env);

機能説明

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

パラメタ

  terminator

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

  *env

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

復帰値

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

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

ex_CORBA_StExcep_TRANSACTION_ROLLEDBACK:
  トランザクションがロールバックされています。
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サービスで異常が発生しました。