Spring Batch 基本構成

Spring Batchの使い方を説明する前に、Spring Batchで使用されるドメインモデルの構成要素を説明する。

「バッチ構成」を表すドメインモデル、「バッチ実行状態」を表すドメインモデルの2つに分かれている。

ドメインモデル(クリックで拡大)

バッチ構成を表すドメインモデル

要素名 説明
Job 1つのバッチ処理を定義する単位。
Step バッチプロセスの単位。Jobは複数のプロセス(Step)から構成される。Stepは更に3つのプロセスUnit(ItemReader、ItemProcessor、ItemWriter)を持っている。
ItemReader
ItemProcessor
ItemWriter
Stepを構成するプロセスの単位。開発者の実装ポイントになる。
ItemReaderでは処理のInputデータを読み込む。ItemProcessorは必要に応じてInputデータを変換する。ItemWriterはInputデータを受け取ってビジネスロジックを処理する。
※ これらのモデルは実装者によってSpring Batchの設定ファイル(XML)上に定義される。

バッチ実行状態を表すドメインモデル

要素名 説明
JobInstance Jobの論理単位を保持するモデル。Job名とJob起動パラメータを保持しており、これが同一のものは同じJobInstanceとみなされる。(Jobと 1:N)
JobExecution Jobの実行結果を保持するモデル。Jobの実行ごとに作成される。(JobInstanceと1:N)
StepExecution Stepの実行結果を保持するモデル。(Stepと 1:N)
※ これらのモデルは、バッチ実行時にSpring Batchフレームワークによって動的に作成される。