在我的一个批次中,我需要调用一个 Web 服务来丰富从数据库中读取的项目中的一些数据,检查一些值,然后将这个丰富的项目写入另一个表。我的 Web 服务可以在同一个调用中支持多个请求,以尽量减少对 Web 服务的调用次数。实际上我的网络服务调用被定义为一个处理器:
<batch:tasklet task-executor="taskExecutor">
<batch:chunk reader="bookingReader" processor="bookingEnrichWSProcessor"
writer="bookingCompositeWriter" commit-interval="10" />
</batch:tasklet>
似乎只有项目编写器可以支持在步骤定义中使用属性 commit-interval 在一次调用中编写多个项目。
我需要的是与阅读器一起阅读 10 个项目,然后用 10 个项目调用 ws,然后再将它们写入另一个表。
是否可以在处理器类中做到这一点?或者我应该在作家中移植这个逻辑。
感谢我们的帮助