バッチデザインパターンとかあればいいのに。
お前が作れよって話と、作るほどのもんでもないって話と二つあるような気がしますが。
バッチフレームワークってのはあるのにね。と。
Javaで作られたバッチなのですが、
相互に関係のない処理Aと処理Bが混在してます。
- 全体
- 処理A
- 対象データを抽出
- 対象データ全てに対して、テーブルAにデータを作成
- コミット
- 対象データ1件ずつに対して以下の処理を実施
- ファイル作成
- ファイル転送
- テーブルBにデータを作成
- コミット
- 処理B
- 対象データを抽出
- 対象データ1件ずつに対して以下の処理を実施
- ファイル作成
- ファイル転送
- テーブルCのデータを更新
- コミット
- 処理A
なんでこんなことになってるんだろうと首をかしげるばかり。
たとえば、処理Aで最初のコミットが終わった後のファイル作成でエラーになった場合に、
どうやってリカバリすんだとか、
処理Aは正常に終わったけど、処理Bの対象データ抽出でエラーになった場合に、
どうやってリカバリすんだとか、色々。
要はリカバリを考えているかどうかがポイントなわけですが、どうすればそれが分かってもらえるのかは不明です。。