当前位置: 首页 > 知识库问答 >
问题:

在Spring批处理中从多个目录读取文件

宋宏儒
2023-03-14

我需要从多个目录中读取文件,并处理数据并将其存储到DB中。目前我正在使用块多资源阅读器,它适用于1个目录。但现在我必须从多个目录中读取文件。如何使用Spring批处理来做到这一点

共有1个答案

乜元魁
2023-03-14

您可以使用MultiResourceItemReader以及Step Scope。使用StepScop后期绑定,您可以注入文件位置

MultiResourceItemReader<> multiResourceItemReader = new MultiResourceItemReader<>();
    ClassLoader cLoader = this.getClass().getClassLoader();
    ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(cLoader);
    resources = resolver.getResources("file:" + FileLocationAsVaribale);
    multiResourceItemReader.setResources(resources);
    multiResourceItemReader.setDelegate(yourReader());
 类似资料:
  • 我希望我的Spring批处理应用程序一次从数据库中读取50条记录,然后将这50条记录发送给处理器,然后发送给写入器。 有人可以告诉我如何做到这一点吗? 我尝试使用JdbcPagingItemReader并将pageSize设置为50,这样可以读取50条记录,但是rowMapper、处理器和编写器一次接收一条记录,而不是获得50条记录。 如何使处理器和写入器在dto中获得50条记录,而不是一次接收一

  • 我有从多个文件读取并写入多个文件的Spring批处理配置。是否可以只写入从多个读取的一个文件。假设我收到巨大的XML文件,我将XML拆分为小文件并使用分区器并行读取小文件。但我需要将从不同的小xml文件读取的所有数据写入一个输出文件。Spring批处理是否可以做到这一点?我知道通过使写入器同步是可能的,但我正在寻找任何其他可能的方式作业配置 我得到错误组织。springframework。一批项目

  • 我正在使用JpaPagingItemReaderBuilder查询一个DB,结果被插入到另一个DB中。 查询返回的结果没有任何问题,但我得到了一个错误与读取器的返回,在处理器中,您可以检查我的编码和错误下面。 有谁能给我一点启示吗?为什么我不能处理结果?

  • 我是Spring批次的新手。我需要在spring批处理中实现的任务如下: 需要从数据库读取一些元数据。 基于此元数据,我需要读取一些文件。 经过一些处理后,需要将这些值从文件写入数据库。 我的查询如下: c.另外,基于某些条件,我可能需要调用第三组阅读器。如何在步骤中有条件地调用读取器? 谢谢你看了我的帖子。我知道它很长。非常感谢任何帮助。另外,我想一个示例代码片段会帮助我更好地理解这一点。:)

  • 我正在尝试创建一个应用程序,该应用程序使用spring-batch-excel扩展名来读取用户通过web界面上传的Excel文件,以便解析Excel文件中的地址。 当代码运行时,没有错误,但我得到的只是我日志中的以下内容。即使我的处理器和Writer中都有log/syso(它们从未被调用过,我所能想象的是它没有正确读取文件,也没有返回要处理/写入的数据)。是的,这个文件有数据,实际上有几千条记录。

  • 我刚开始使用Spring批处理,我有一个特殊问题。我希望使用从3个不同的jpa查询中获取结果,并分别处理它们,然后使用将它们写入一个统一的XML文件。 对于eg,生成的XML看起来像是,