Spring批处理:我有一个文件列表,我需要处理并拆分成不同的文件并写入。我按照中提到的步骤进行操作 http://incomplete-code.blogspot.com/2013/07/spring-batch-looping-over-multiple-files.html#comment-form
在此,我们使用动态资源属性向FlatFileItemWriter提供 。 第一步工作正常。但是,从下一次迭代开始,它不再使用" input.file"的新值,而是继续使用相同的文件(在第一次迭代中使用)。任何人都可以建议我是否可以在每次迭代中都有一个可以获取文件新动态值的编写器?
答案 0 :(得分:0)
我已经解决了这个问题:
以下是对问题的正确描述:
实际上代码与上面发布的链接中的代码类似。 然后唯一的区别是我将“input.file”传递给FlatFileOutputWriter 而不是FlatFileItemWriter。
在此代码中,正在进行以下操作:
然后我们将此FlatFileItemReader传递给作业步骤(multipleFileProcess.step1) 正在迭代。我们期望在每次迭代中,我们设置一个新值 对于“input.file”(文件末尾没有's'),我们就可以编写了 内容到新的输出文件。
但是,而不是单独输出 文件,它将所有迭代的内容写入单个输出 file(在第一次迭代中设置为FlatFileItemWriter的输出文件)
我实施的解决方案:
现在,我可以在每次迭代中写入单独的输出文件。 我也会在周末之后发布示例代码。
由于