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

1.13.1 CosTransactions_Current_begin

名前

CosTransactions_Current_begin

形式

#include  "orb.h"
#include  "CosTransactions.h"
void  CosTransactions_Current_begin(
                              CosTransactions_Current current,
                              CORBA_Environment       *env);

機能説明

新しいトランザクションを作成します。

CosTransactions_Current_set_timeoutメソッドでタイムアウトを設定していない場合、運用環境ファイルのTRAN_TIME_OUTに指定されたタイムアウト時間が有効となります。

パラメタ

current

CORBA_ORB_resolve_initial_referencesメソッド (CORBA_ORB_ObjectId_TransactionCurrent)で取得したCurrentインタフェースのオブジェクトリファレンスを指定します。

*env

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

復帰値

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

ユーザ例外の場合、以下の詳細情報が設定されます。

ex_CosTransactions_SubtransactionsUnavailable

ネストトランザクションを作成しようとしました。

システム例外の場合、以下の例外が発生します。

ex_CORBA_StExcep_NO_IMPLEMENT

OTSシステムが起動されていません。

ex_CORBA_StExcep_COMM_FAILURE

以下の原因が考えられます。

  • 通信異常が発生した。

  • CORBAサービスの環境ファイルのinitial_hosts(PCの場合はinithost)のOTSシステムが存在するホストの情報が設定されていません。

  • OTSの提供するライブラリのリンク指定の順が、CORBAサービスの提供するライブラリより後に指定されています。

ex_CORBA_StExcep_NO_RESOURCES

資源不足が発生しました。トランザクション最大数を超えた可能性があります。

ex_CORBA_StExcep_NO_MEMORY:

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