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

2.17.2 CosTransactions::Current::commit

名前

CosTransactions::Current::commit

形式

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

機能説明

トランザクションをcommitします。CurrentインタフェースのオブジェクトリファレンスはCORBA::ORB::resolve_initial_referencesメソッド (CORBA::ORB::ObjectId_TransactionCurrent)で取得します。

パラメタ

report_heuristics

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

env

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

復帰値

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

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

CosTransactions::NoTransaction

トランザクションが作成されていません。

CosTransactions::HeuristicMixed

トランザクションの完了状態は、いくつかがcommitされ、いくつかがrollbackされた状態です。

CosTransactions::HeuristicHazard

トランザクションの完了状態不明です。

SystemExceptionの場合は以下の例外クラスが通知されます。

CORBA::StExcep::NO_PERMISSION

トランザクションをcommitする権利がありません。

CORBA::StExcep::TRANSACTION_ROLLEDBACK

トランザクションがロールバックされています。

CORBA::StExcep::NO_IMPLEMENT

OTSシステム、またはリソース管理プログラムが起動されていません。

CORBA::StExcep::COMM_FAILURE

通信異常が発生しました。

CORBA::StExcep::NO_RESOURCES

資源不足が発生しました。

CORBA::StExcep::NO_MEMORY:

動的メモリの獲得に失敗しました。