Terminatorインタフェースで提供される機能は、Currentインタフェースで提供されるcommit、rollback機能と同じです。よって、Currentインタフェースとの併用はできません。
名前
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インタフェースとの併用はできません。
パラメタ
CORBA_TRUEを指定するとヒューリスティックエラーが通知されます。
例外情報を獲得するために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サービスで異常が発生しました。
名前
CosTransactions::Terminator::rollback
形式
#include "orb_cplus.h" #include "CosTransactions_cplus.h" void CosTransactions::Terminator::rollback( CORBA::Environment& env);
機能説明
トランザクションをrollbackします。
Currentインタフェースのrollback相当の機能を作成する場合に使用します。よって、Currentインタフェースとの併用はできません。
パラメタ
例外情報を獲得するために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サービスで異常が発生しました。