使用spring批处理写入多个文件(不同的内容)

时间:2015-03-30 17:42:59

标签: spring spring-batch

我需要使用Spring Batch编写多个文件。将根据数据库表中的数据编写第一个文件。第二个文件将只包含写入第一个文件的记录数。如何创建第二个文件?我不确定org.springframework.batch.item.file.MultiResourceItemWriter是否适合我,因为我认为它将基于数据写入多个文件,它将在多个文件中写入数据块。如果我在这里错了,请纠正我。

如果可能,请建议使用示例代码的一些选项。

1 个答案:

答案 0 :(得分:3)

您有几种选择:

  1. 您可以使用CompositeItemWriter以定义的顺序调用项目编写者的集合,这样您就可以定义一个项目编写器,它将根据来自数据库的数据写入记录,第二个将计算记录并将其写入另一个文件

  2. 您可以在第一步中将数据写入文件,完成整个文件并将其保存在某个地方,如果只需要StepContext common batch patternsthis example,就可以保存记录计数器。滚动到11.8将数据传递到将来的步骤)并读入新的Tasklet计数器并保存到新文件。

  3. 如果您想使用我认为正确的选项1,您可以使用CompositeItemWriter

    检查{{3}}批处理作业配置