ItemWriter
ItemWriter
の機能は ItemReader
に似ていますが、逆の操作があります。リソースは引き続き検索、オープン、クローズする必要がありますが、ItemWriter
が読み込むのではなく書き込むという点で異なります。データベースまたはキューの場合、これらの操作は挿入、更新、送信になります。出力の直列化の形式は、各バッチジョブに固有です。
ItemReader
と同様に、ItemWriter
は、次のインターフェース定義に示すように、かなり汎用的なインターフェースです。
public interface ItemWriter<T> {
void write(Chunk<? extends T> items) throws Exception;
}
ItemReader
上の read
と同様に、write
は ItemWriter
の基本契約を提供します。開いている限り、渡されたアイテムのリストを書き込もうとします。通常、アイテムはまとめて「バッチ」にまとめられてから出力されることが予想されるため、インターフェースはアイテム自体ではなくアイテムのリストを受け入れます。リストを書き出した後、書き込みメソッドから戻る前に、必要なフラッシュを実行できます。例: Hibernate DAO に書き込む場合、各項目に 1 つずつ、複数の書き込み呼び出しを行うことができます。ライターは、戻る前に休止状態セッションで flush
を呼び出すことができます。