首页 > 解决方案 > Spring Batch:从一个源读取数据,但将不同的数据写入 2 个单独的文件

问题描述

我编写了一个 spring 批处理程序来读取/处理/写入数据到单个文件中。我有一个新的业务需求,其中从我正在阅读的相同数据中,我必须使用不同的数据构建另一个列表并处理/格式化数据并将其写入单独的文件中。

我研究了 MultiFormatItemWriter ,其中我也可以定义单独的 FlatFileItemWriters 和 CompositeItemWriter ,但我无法理解如何将不同的列表发送到这些不同的文件编写器。

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

标签: javaspring-batch

解决方案


ClassifierCompositeItemProcessor和的组合ClassifierCompositeItemWriter是您正在寻找的。分类器允许您根据它们的类将项目路由到正确的处理器/写入器。

你可以在这里找到一个例子。


推荐阅读