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

2.17.1 CosTransactions::Current::begin

名前

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に指定されたタイムアウト時間が有効となります。

パラメタ

env

例外情報を獲得するために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:

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