Spring批处理FlatFileItemReader读取多个文件

时间:2012-08-01 11:56:20

标签: spring-batch

根据spring batch docs,由于重启问题,他们不建议使用MuliResourceItemReader,建议在每个文件夹中使用一个文件。

  

“应该注意的是,与任何ItemReader一样,添加额外的输入   (在这种情况下,文件)可能会在重新启动时导致潜在问题。它   建议批处理作业与他们自己的个人一起工作   目录直到成功完成。“

如果我的文件夹中包含以下结构:/ timestamp> /file1.txt,file2.txt

如何配置FlatFileItemReader以读取路径中每个文件夹的模式文件。

2 个答案:

答案 0 :(得分:3)

我更希望Spring Integration项目从目录中读取文件,因为轮询目录不是Spring Batch Framework的业务。

在最基本的场景中,Spring Integration将轮询目录中的文件,对于每个文件,它将以文件名作为参数运行作业。这将从批处理作业中省略文件轮询逻辑。

我应该通过excellent article建议这个Dave Syer,以了解整合这两种技术的基本概念。仔细查看涉及FileToJobLaunchRequestAdapter

的部分 此适配器的

Source code也有助于理解内部。

答案 1 :(得分:1)

我也有类似的要求来读取多个text / csv文件并使用org.springframework.batch.item.file.MultiResourceItemReader实现。

详细实施在以下链接中提供。

http://parameshk.blogspot.in/2013/11/spring-batch-flat-file-reader-reads.html