トランザクション化したフローで複数のコネクションのうち1つのコミットに失敗した場合はどうなりますか?

フローをトランザクション化している場合、フローの終了時に使用されたRDBコネクションのコミットが順に実行されます。

※フローのトランザクション化とは、Startコンポーネントの「トランザクション化」プロパティが「はい」になっている状態をいいます。

1つのフローの中でコネクションAとコネクションBを使って処理を行った場合、コネクションA、コネクションBの順にコミットが実行されます。このとき、コネクションAのコミットが成功した後にコネクションBのコミットが失敗すると、すでにコネクションAのコミットは成功しているのでコネクションAに対してはロールバックされません。

接続先のRDBが分散トランザクションをサポートしている場合、RDBのコネクション設定で「XA対応」プロパティを「はい」にすると分散トランザクションを利用することができ、このようなリスクを軽減することができます。

トラザクションの詳細については「フローサービスマニュアル」の「はじめに」-「詳細なトピック」-「フローの構成要素」-「トランザクション」を参照してください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

このセクションの記事

他のキーワードで検索する