トランザクション化
フローにおけるトランザクションとは、フローの中でエラーが発生した場合に、各コンポーネントが行った処理に不整合が起きないように制御する概念です。フローのトランザクションは、開始コンポーネントの「トランザクション化」プロパティで設定できます。
「トランザクション化」を有効にする
1. 対象のフローを表示し、開始コンポーネントを選択して、インスペクタの「トランザクション化」プロパティを「はい」にする
HINT
トランザクション化による動作の違い
「トランザクション化」が「いいえ」の場合、コンポーネントが実行され、直後にコミットが実行されて、次のコンポーネントに制御が移ります(ループの場合は、1レコードずつコミットされます)。一方、「トランザクション化」が「はい」の場合には、各コンポーネントが順次(ループの場合は、ループが完了するまで)実行され、フローが正常終了した場合に、終了コンポーネントの「トランザクション」プロパティの設定に従ってコミットまたはロールバックが実行されます。
2. 終了コンポーネントを選択し、インスペクタの 「トランザクション」プロパティで「コミット」または「ロールバック」を選択する
「トランザクション化」を有効にしてループ処理でフローを実行すると、コミットはループの最後に1回だけ実行されるようになります。
HINT
トランザクションを使用するコンポーネント
トランザクションを使用するコンポーネントとしては、以下のようなものがあります。
コンポー ネント |
コミット処理 |
ロールバック処理 |
---|---|---|
RDBPut |
RDBに対してコミットを発行 |
RDBに対してロールバックを発行 |
FileGet |
「コミット時の処理」が 「ファイルを削除」の場合 に、読み込んだファイルを削除 |
何もしない |
FilePut |
「書込み処理」が「追加」の 場合に、ファイルをクローズ |
「ロールバック時の処理」が「ファイルを削除」の場合 にファイルを削除 ・「書込み処理」が「追加」の場合にファイルをクローズ |
POP3 |
「コミット時の処理」が「サーバーからメッセージを削除」の場合に、読み込んだメールを削除 |
何もしない |