Java 在spring批处理中处理两个文件

Java 在spring批处理中处理两个文件,java,spring,spring-batch,Java,Spring,Spring Batch,需要读取spring批处理中的文件,对其进行处理并将其作为一个提要持久化。一个提要包含50%的信息。当我必须持久化提要的最终结果时,我需要使用一个公共字段组合它们,并像持久化一个项目一样持久化它们。请参见下面的示例 Feed1 fields: A|B|C|D|E Feed2 fields: A|I|J|K|L 我需要保留的最终信息如下: A|B|C|D|E|I|J|K|L 请建议我如何在我的spring batch工作中实现这一点 谢谢。如果您的输入文件已经排序,您可以创建一个自定义Item

需要读取spring批处理中的文件,对其进行处理并将其作为一个提要持久化。一个提要包含50%的信息。当我必须持久化提要的最终结果时,我需要使用一个公共字段组合它们,并像持久化一个项目一样持久化它们。请参见下面的示例

Feed1 fields: A|B|C|D|E
Feed2 fields: A|I|J|K|L
我需要保留的最终信息如下:

A|B|C|D|E|I|J|K|L
请建议我如何在我的spring batch工作中实现这一点


谢谢。

如果您的输入文件已经排序,您可以创建一个自定义ItemReader实现,对文件执行合并排序


如果不选择对输入文件进行排序,我认为您需要将其中一个输入文件临时存储到数据存储中。然后,您可以读取第二个输入文件,并使用从处理器中的数据存储中检索到的字段来丰富记录。

(非常)晚回答,但您可以使用类似这样的插件来处理排序和后续合并操作:

您的输入文件是否按字段“a”排序?Jimmy,文件未按字段A排序。我可以对输入文件进行排序。但我要做块处理,在这里我要处理数据的一个子集。我不确定分类在这里会有什么帮助。你能在这里多放点光吗?我能在项目作者方面做些什么吗?嗯,它们不一定需要排序,也许我应该说排序。如果两个输入文件的记录与联接键(字段A)的顺序相同,则可以实现一个自定义ItemReader解决方案,在该解决方案中同时读取两个输入文件。