Spring Batch (1)
最終更新日: 2020年3月14日
R8 | R9
Spring Batch は次のような特徴をもったオープンソースのフレームワークです。
つまり大量データを扱うバッチ処理で、エラー時の再実行処理および条件分岐を制御する必要がある場合に向いています。
開発者は Spring Batch フレームワークを学習し、その仕様に沿ったバッチプログラムを作成します。プログラミングの詳細は公式サイトを参考にしてください。
Wagby は Spring Batch フレームワークを同梱しています。Wagby の管理処理メニューから、Spring Batch のジョブステータスを検索、照会することができます。
Wagby R8 は Spring Batch 3 を同梱しています。
Oracle, SQL Server, DB2, PostgreSQL, MySQL に対応しています。
ボタン押下により、Spring Batch フレームワークで稼働する Java プログラムを呼び出すサンプルを用意しました。(具体的なコードはこのあと説明します。)
実行するとコンソールにメッセージが出力され、バッチプログラムが終了します。
このサンプルは、Wagby が自動生成した CustomerService を使って Customer をデータベースから取得し、1件ずつ画面に表示したものです。コードの詳細は次ページで説明します。
Spring Batch フレームワークで動作するように開発されたバッチプログラムは、実行後に「管理処理 > バッチジョブ」メニューからジョブの実行状況を確認することができます。
一つのバッチプログラムが実行されると「バッチジョブインスタンス」に、その結果が格納されます。これを検索します。
バッチジョブインスタンスIDは、Spring Batch が採番します。
詳細画面から「バッチジョブ実行結果」を確認することができます。「作成時刻」「開始時刻」「終了時刻」「ステータス」「終了コード」が用意されています。"COMPLETED" は正常終了を意味します。
さらに「バッチジョブ実行詳細」「バッチジョブ実行パラメータ」「バッチステップ実行」情報を確認することができます。
「バッチステップ実行」詳細画面では、コミット回数や読み込み回数、書き込み回数といった情報を確認することができます。
R8.4以降のWagbyで必要になります。開発者は customize/resources/myapplication.properties を用意し、次の行を含めるようにしてください。
Spring Batch とは
Wagbyとの連携
バージョン
対応データベース
実行例
管理テーブルを確認する
利用時に準備する設定 8.4.0
application.properties のカスタマイズ 8.4.0
spring.main.allow-bean-definition-overriding=true