Spring Batch一次处理多个项目

ton*_*kai 5 java spring bulk spring-batch

我们正在使用 Spring Batch 进行一些处理,通过 Reader 读取一些 id,我们希望通过处理器将它们作为“块”处理,然后写入多个文件。但是处理器接口一次只允许处理一个项目,我们需要进行批量处理,因为处理器依赖于第三方,并且不能为每个项目调用服务。

我看到我们可以为“chunk”中涉及的所有 Reader-Processor-Writers 创建 Wrappers 来处理 List<> 并委托给一些具体的读取器/处理器/写入器。但这对我来说似乎并不好。像这样:

   <batch:chunk reader="wrappedReader" processor="wrappedProcessor" writer="wrappedWriter" 
commit-interval="2"/>
Run Code Online (Sandbox Code Playgroud)

是否有“分块”选项可以在处理器之前分块?而不是在 Writer 之前。

干杯,

Mic*_*lla 3

我建议重新配置您ItemReader以返回需要处理的“块”,因为这实际上是您正在处理的“项目”。