为什么spring批量itemWriter有方法写入数据列表

时间:2013-08-22 13:25:44

标签: java spring-batch

我是春季批次的新手,所以也许我错了,但我不明白为什么itemWriter中的write方法需要数据列表:

void write(List<? extends T> items) throws Exception;

如果我理解这个过程首先是读取项目列表的itemReader。在第一次迭代中读取第一项等等......下一步是itemProcessor,它从itemReader获取数据。然后有一些处理和itemProcessor返回我们想要保存的新类。所以最后一步是itemWriter,它获取返回itemProcessor的这个类。所以我不知道itemWriter何时获取数据列表。当我调试我的简单示例项目时,此列表中仍然只有一个项目。请有人解释一下

很多

1 个答案:

答案 0 :(得分:5)

答案在sequence diagram from the Spring Batch documentation

enter image description here

如果这还不够清楚,那么文档(再次!)解释了Spring使用面向chunck的处理方式:

  

Spring Batch最多使用“Chunk Oriented”处理方式   常见的实施。面向块的处理是指读取   一次一个数据,创建将被写出的'块',   在交易边界内

实际上,Spring Batch文档非常好。如果您从Spring Batch开始,我建议您阅读它。