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

2.17.7 CosTransactions::Current::set_timeout

名前

CosTransactions::Current::set_timeout

形式

#include  "orb_cplus.h"
#include  "CosTransactions_cplus.h"
void  CosTransactions::Current::set_timeout(
                         CORBA::ULong                 seconds,
                         CORBA::Environment&              env);

機能説明

指定されたseconds(秒数)をトランザクションのタイムアウト監視時間として設定します。secondsで設定した時間内に処理が完了しない場合、トランザクションはrollbackされます。また、secondsに0が指定された場合、タイムアウト監視はされません。

トランザクション実行中に呼び出された場合、指定されたタイムアウト値は次のトランザクションを開始するまで有効となりません。

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

パラメタ

seconds

トランザクションのタイムアウト監視時間を指定します。

env

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

復帰値

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

システム例外の場合、以下の例外クラスが通知されます。

CORBA::StExcep::NO_MEMORY:

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

CORBA::StExcep::INTERNAL:

CORBAサービスで異常が発生しました。