Java 设计一个Spring批处理应用程序,从不同的资源(平面文件)读取数据

Java 设计一个Spring批处理应用程序,从不同的资源(平面文件)读取数据,java,spring-batch,Java,Spring Batch,我正在使用(SpringBoot、java和SpringBatch)开发一个批处理应用程序,我需要从不同的位置读取数据。下面是我的用例: 多个路径,如C://Temp//M1、C://Temp//M2,两个位置都可以包含具有相同数据的相同文件,如C://Temp//M1//File1.txt、C://Temp//M2//File1.txt和C://Temp//M1//File2.txt、C://Temp//M2//File2.txt 首先,如果两个位置都存在相同的文件,我需要将它们合并到内存中

我正在使用(SpringBoot、java和SpringBatch)开发一个批处理应用程序,我需要从不同的位置读取数据。下面是我的用例:

  • 多个路径,如C://Temp//M1、C://Temp//M2,两个位置都可以包含具有相同数据的相同文件,如C://Temp//M1//File1.txt、C://Temp//M2//File1.txt和C://Temp//M1//File2.txt、C://Temp//M2//File2.txt
  • 首先,如果两个位置都存在相同的文件,我需要将它们合并到内存中,然后在删除重复项后开始批处理,并将合并的内存数据作为参数传递给读取器
我使用multiresourceitemreader设计了批处理,它读取平面文件并处理它们,但无法实现内存中的合并和从多个文件中删除副本。
因此,请您看一看并向我建议如何实现这一点?

如果您了解卡夫卡,请尝试卡夫卡连接框架。使用汇流平台轻松使用其连接器

然后将Kafka中的内容应用到Spring应用程序中


如果您对卡夫卡感兴趣,我将通过我的经验向您详细解释

,我发现在处理平面文件时,使用BeanIO library是无价的。它还与spring batch集成。

您可以从两个位置阅读哪些内容:

  • 将您的读取器实现为一个组合,从文件1读取第一行,然后从文件2读取第一行
  • 您首先通读读取器文件1,然后在prosessor中使用文件号2中的数据进行充实
  • 预先整理文件

  • 谢谢,但是我的项目要求使用Spring批处理谢谢Alexander,但是从多个位置读取和合并文件并将其作为资源传递给Spring批处理读取器会有帮助吗