名前
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)で取得します。
パラメタ
トランザクションのタイムアウト監視時間を指定します。
例外情報を獲得するためにCORBA::Environmentオブジェクトを指定します。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、以下の例外クラスが通知されます。
CORBA::StExcep::NO_MEMORY: 動的メモリの獲得に失敗しました。 CORBA::StExcep::INTERNAL: CORBAサービスで異常が発生しました。