ItemWriter
ItemWriter
ItemWriter
在功能上与 ItemReader
类似,但操作相反。仍然需要定位、打开和关闭资源,但它们的不同之处在于 ItemWriter
是写入而不是读取。在数据库或队列的情况下,这些操作可能是插入、更新或发送。输出序列化的格式因每个批处理作业而异。
与 ItemReader
一样,ItemWriter
是一个比较通用的接口,如下所示的接口定义所示:
public interface ItemWriter<T> {
void write(Chunk<? extends T> items) throws Exception;
}
与 ItemReader
上的 read
方法类似,write
提供了 ItemWriter
的基本契约。只要处于打开状态,它会尝试写入传入的项目列表。由于通常期望项目被分组为一个块(chunk),然后再进行输出,因此该接口接受一个项目列表,而不是单个的项目。在写入列表之后,可以在从 write
方法返回之前执行任何必要的刷新操作。例如,如果写入到 Hibernate DAO,可以针对每个项目多次调用 write
方法。然后,写入器可以在返回之前对 Hibernate 会话调用 flush
。