首页 文章

是否可以在Spring批处理中使用List <Object>而不是csv文件作为输入

提问于
浏览
0

一段时间我正在寻找解决 Spring 季批次问题的解决方案 . 我应该使用spring批处理从csv文件重现/创建新的csv文件 . 这是一个例子:

outPut   | inPut
------   | ------
File1    | source1
File2    | source2 and source 3
File3    | source1 and source2
File4    | Csource3

以下是创建输出编号1的示例,例如File1:

@Bean
        public Step step1() {
            return stepBuilderFactory.get("createFile1")
                    .<source1, File1> chunk(10)
                    .reader(source1Reader())
                    .processor(transformesource1ToFile1())
                    .writer(File1Writer())
                    .build();
        }

这对于其他outPut文件也是一样的,但正如你可以看到一些输出使用相同的源,在这个事实上我无法读取相同的数据两次以重新生成新的输出,所以我试图将它们存储为 Map 上的资源(资源将使用多于一个),即,我将拥有

List<source1>, List<source2>, List<source3> 再次访问这些来源,而不是每次都经过读者 .

现在我的问题是,我可以在ItemProcessor / ItemWriter / itemReader中的Spring批处理中访问/获取这些列表吗?

我可以将这些List注入/传递给itemProcessor,因为它是itemReader的返回结果

1 回答

相关问题