名前
CosTransactions::Current::begin
形式
#include "orb_cplus.h" #include "CosTransactions_cplus.h" void CosTransactions::Current::begin( CORBA::Environment& env);
機能説明
新しいトランザクションを作成します。Currentインタフェースのオブジェクトリファレンスは
CORBA::ORB::resolve_initial_referencesメソッド(CORBA::ORB::ObjectId_TransactionCurrent)で取得します。
CosTransactions::Current::set_timeoutメソッドでタイムアウトを設定していない場合、運用環境ファイルのTRAN_TIME_OUTに指定されたタイムアウト時間が有効となります。
パラメタ
例外情報を獲得するためにCORBA::Environmentオブジェクトを指定します。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionまたはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
UserExceptionの場合は以下の例外クラスが通知されます。
CosTransactions::SubtransactionsUnavailable:
ネストトランザクションを作成しようとしました。
SystemExceptionの場合は以下の例外クラスが通知されます。
CORBA::StExcep::NO_IMPLEMENT:
OTSシステムが起動されていません。
CORBA::StExcep::COMM_FAILURE:
以下の原因が考えられます。
・通信異常が発生しました。
・CORBAサービスの環境ファイルのinitial_hosts(PCの場合はinithost)のOTSシステムが存在するホストの情報が設定されていません。
CORBA::StExcep::NO_RESOURCES:
資源不足が発生しました。トランザクション最大数を超えた可能性があります。
CORBA::StExcep::NO_MEMORY:
動的メモリの獲得に失敗しました。