私はSpring Batchを使用して、データベースから/へのエクスポート/インポートを主に行う多数のバッチジョブを作成しています。Spring Batch ジョブ リポジトリ データベースとターゲット データベース (データの読み取り/書き込みの対象となるデータベース) は、異なるマシン上にあります。
私の質問は、この構成で XA トランザクションを使用する必要があるかどうかです。
ある時点で、ジョブ リポジトリ db へのリンクがブレーキをかけるシナリオについて疑問に思っています。データが破損する可能性はありますか? このような:
- ジョブが開始されました (ジョブ リポジトリへの書き込み)
- トランザクション内のターゲット データベースでの読み取り/処理/書き込み
- ジョブ リポジトリへのリンク db ブレーキとジョブの失敗
最後に、ターゲット データベースを更新しましたが、ジョブが失敗したため、ジョブの再起動時に同じデータが再度処理されます。