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フレームワークによって動的に作成される。 |