我在春季批处理中是新手,所以也许我错了,但是我不明白为什么itemWriter中的write方法需要数据列表:
void write(List<? extends T> items) throws Exception;
Run Code Online (Sandbox Code Playgroud)
如果我了解这个过程,首先是itemReader,它读取项目列表。在第一次迭代中,读取第一个项目,依此类推...下一步是itemProcessor,它从itemReader获取数据。然后有一些处理,itemProcessor返回新的类,我们要保存在某个地方。所以最后一步是itemWriter,它获取返回itemProcessor的此类。所以我不知道itemWriter何时获取数据列表。在调试简单的示例项目时,此列表中仍然只有一项。请有人给我解释一下
多谢
答案是在Spring Batch文档的此序列图中。

如果这还不够清楚,文档(再次!)将说明Spring使用面向块的处理风格:
Spring Batch在最常见的实现中使用“面向块的”处理风格。面向块的处理是指一次读取一个数据,并在事务边界内创建要写出的“块”。
实际上,Spring Batch文档非常好。如果您从Spring Batch开始,我建议您阅读它。
| 归档时间: |
|
| 查看次数: |
6241 次 |
| 最近记录: |