如何使用 Spring-Batch 从单个 item/line 执行多次写入?
How to perform multiple write from single item/line using Spring-Batch?
如何使用 spring-batch 从单个项目执行给定数据的多次写入?
我是否需要读取输入 x 次并创建对象然后写入或读取输入一次并执行多次写入?
输入:
- id, label1, detail1, detail2, detail3
输出1:
- id, label1
输出2:
- id, detail1
- id, detail2
- id, detail3
Spring Batch 提供了一个 CompositeItemWriter
,它接受一个 ItemWriter
的列表。这位作家依次为每个项目打电话给每个作家。所以如果我有一个项目需要以不同的格式写入两个不同的文件,我可以使用 CompositeItemWriter
将每个项目写入每个文件。在您的情况下,您将使用多个 JdbcBatchItemWriter
s.
您可以在此处的文档中阅读有关 CompositeItemWriter
的更多信息:http://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/support/CompositeItemWriter.html
此 ItemWriter
的示例显示在此处的 Spring 批处理示例中:https://github.com/spring-projects/spring-batch/blob/master/spring-batch-samples/src/main/resources/jobs/compositeItemWriterSampleJob.xml
如何使用 spring-batch 从单个项目执行给定数据的多次写入?
我是否需要读取输入 x 次并创建对象然后写入或读取输入一次并执行多次写入?
输入:
- id, label1, detail1, detail2, detail3
输出1:
- id, label1
输出2:
- id, detail1
- id, detail2
- id, detail3
Spring Batch 提供了一个 CompositeItemWriter
,它接受一个 ItemWriter
的列表。这位作家依次为每个项目打电话给每个作家。所以如果我有一个项目需要以不同的格式写入两个不同的文件,我可以使用 CompositeItemWriter
将每个项目写入每个文件。在您的情况下,您将使用多个 JdbcBatchItemWriter
s.
您可以在此处的文档中阅读有关 CompositeItemWriter
的更多信息:http://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/support/CompositeItemWriter.html
此 ItemWriter
的示例显示在此处的 Spring 批处理示例中:https://github.com/spring-projects/spring-batch/blob/master/spring-batch-samples/src/main/resources/jobs/compositeItemWriterSampleJob.xml