5

根据春季批处理文档,由于重新启动问题,他们不建议使用 MuliResourceItemReader,并建议在每个文件夹中使用一个文件。

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

如果我有一个具有以下结构的文件夹 dest/< timestamp>/file1.txt, file2.txt

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

4

2 回答 2

2

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

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

我应该推荐Dave Syer的这篇优秀文章,了解集成这两种技术的基本概念。仔细查看处理FileToJobLaunchRequestAdapter的部分

该适配器的源代码也将有助于理解其内部结构。

于 2012-08-01T13:00:27.333 回答
1

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

下面的链接中提供了详细的实现。

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

于 2013-11-09T10:14:43.480 回答