我需要使用Spring Batch编写多个文件。将根据数据库表中的数据编写第一个文件。第二个文件将只包含写入第一个文件的记录数。如何创建第二个文件?我不确定org.springframework.batch.item.file.MultiResourceItemWriter
是否适合我,因为我认为它将基于数据写入多个文件,它将在多个文件中写入数据块。如果我在这里错了,请纠正我。
如果可能,请建议使用示例代码的一些选项。
答案 0 :(得分:3)
您有几种选择:
您可以使用CompositeItemWriter以定义的顺序调用项目编写者的集合,这样您就可以定义一个项目编写器,它将根据来自数据库的数据写入记录,第二个将计算记录并将其写入另一个文件
您可以在第一步中将数据写入文件,完成整个文件并将其保存在某个地方,如果只需要StepContext common batch patterns和this example,就可以保存记录计数器。滚动到11.8将数据传递到将来的步骤)并读入新的Tasklet
计数器并保存到新文件。
如果您想使用我认为正确的选项1,您可以使用CompositeItemWriter