アプリケーションの責務配置¶
Jakarta Batchに準拠したバッチアプリケーションを作成する際に実装すべきクラスとその責務を説明する。
Chunkステップの場合¶
Chunkステップの場合の実装すべきクラスとその責務について説明する。

- アイテムリーダ(ItemReader class)
データソース(ファイルやデータベース等)から処理対象のデータを読み込む処理を実装する。 読み込んだデータは、フォームに変換し返却する。
アイテムリーダは、Jakarta Batchで規定されているインタフェースである。 このため実装方法などの詳細は、 Jakarta Batch Specification(外部サイト、英語) を参照。
- アイテムプロセッサ(ItemProcessor class)
アイテムリーダが読み込んだデータを元に業務ロジックを実行し出力対象のデータを生成する。
出力対象がデータベースの場合には、業務ロジック実行後のデータをエンティティに変換する。 データベース以外の場合には、業務ロジック実行後のデータを出力用のフォームに変換する。
アイテムプロセッサは、Jakarta Batchで規定されているインタフェースである。 このため実装方法などの詳細は、 Jakarta Batch Specification(外部サイト、英語) を参照。
補足
アイテムリーダで読み込んだデータが外部から取得したデータの場合は、業務ロジックの実行前に入力値のチェックを行うこと。 入力値のチェックについては、 入力値のチェック を参照。
- アイテムライタ(ItemWriter class)
アイテムプロセッサで変換したエンティティ(フォーム)をデータベースやファイルなどに出力する処理を実装する。
アイテムライタは、Jakarta Batchで規定されているインタフェースである。 このため実装方法などの詳細は、 Jakarta Batch Specification(外部サイト、英語) を参照。
- フォーム(form class)
アイテムリーダが読み込んだデータを保持するクラス。また出力対象がデータベース以外の場合に、出力するデータを保持するクラス。
外部から受け付けたファイルなどの信用出来ない値を保持するフォームの場合には、プロパティの型は全てStringとすること。 理由は、 Bean Validation 参照。 ただし、バイナリ項目の場合はバイト配列で定義する。
- エンティティ(entity class)
- テーブルと1対1で対応するクラス。カラムに対応するプロパティを持つ。
[1] | バッチレットが返却する文字列(バッチレットの終了ステータス)の詳細は、 Jakarta Batch Specification(外部サイト、英語) を参照。 |
[2] | 例えば、 insert~select のみで処理が完結するSQLの実行などを指す。 |