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 を呼び出すことができます。