アプリケーションプログラミングインターフェイスガイド> Webサービスオペレーション> オペレーションリファレンス> beginTransaction
 
beginTransaction
現在のセッションでトランザクションを開始します。トランザクションは、closeTransactionが呼び出されるまで続きます。トランザクション内では、呼び出される各オペレーションは、トランザクションの一部であるワークユニットになります。 createExportArchivecreateImportArchiveなどのプロシージャを呼び出す前に、トランザクションを開始する必要があります。後で、作業単位をコミットまたはロールバックするためにcloseTransactionを呼び出す必要があります。
ROLLBACKを使用してトランザクションを閉じると、ワークユニットがロールバックをサポートしている場合、トランザクション内のすべてのワークユニットがロールバックされます。
COMMITを使用してトランザクションがクローズされると、すべてのワークユニットがコミットされます。トランザクションのコミット中に障害が発生した場合、サーバーはトランザクションモードで指定された手法を使用してトランザクションを閉じようとします。
transactionModeには、補正動作を制御する次のオプションのいずれかを含めることができます。
BEST_EFFORT:コミット中に障害が発生した場合は、その障害をログに記録し、残りのワークユニットのコミットを続行します。
補償:コミット中に障害が発生した場合は、以前にコミットされたすべてのワークユニットを補償し、まだコミットされていないすべてのワークユニットをロールバックします。 (デフォルト値)
NO_COMPENSATE:コミット中に障害が発生した場合は、以前にコミットされたワークユニットに対して何もせず、まだコミットされていないすべてのワークユニットをロールバックします。
transactionModeには、サーバーがダウンした場合の動作を制御する次のオプションのいずれかを含めることもできます。
FAIL_INTERRUPT:サーバーが再起動したときに、割り込みの前にコミットされたすべてのワークユニットを補正できるように、十分な情報をログに記録します。
IGNORE_INTERRUPT:トランザクションログを実行しません。このオプションを使用すると、最高のパフォーマンスが得られます。 (デフォルト値)
LOG_INTERRUPT:コミットの開始前、およびコミット内の重要なポイントでログを記録します。これにより、割り込みが発生した場合に、割り込みを再構築できます。
ロケーション
/services/webservices/system/util/session/operations/
リクエストエレメント
transactionMode(オプション):最大2つのオプションのスペースで区切られたリスト。これらの3つのグループのそれぞれから1つです。
BEST_EFFORT、COMPENSATE、またはNO_COMPENSATE
FAIL_INTERRUPT、IGNORE_INTERRUPT、またはLOG_INTERRUPT
リクエスト例
<session:beginTransaction xmlns:session="http://www.compositesw.com/services/system/util/session">
<session:transactionMode>BEST_EFFORT IGNORE_INTERRUPT</session:transactionMode>
</session:beginTransaction>
応答エレメント
該当なし
エラー解析
IllegalArgument:transactionModeに上記にリストされていないモードが含まれている場合、または競合するモードが含まれている場合。
IllegalState:トランザクションが現在のセッションですでに開いている場合。