Spring boot 如何使用SpringBatch分别读取多个文件、处理和写入
我想读取多个文件,Spring boot 如何使用SpringBatch分别读取多个文件、处理和写入,spring-boot,spring-batch,Spring Boot,Spring Batch,我想读取多个文件,name*.txt并处理它们 为此,我使用了MultiResourceItemReader 它只能一次读取所有文件、处理和写入。我想分别读取多个文件,对它们进行处理和写入 守则: @Bean public MultiResourceItemReader<POJO> multiResourceItemReader() { MultiResourceItemReader<POJO> resourceItemReader = new MultiReso
name*.txt
并处理它们
为此,我使用了MultiResourceItemReader
它只能一次读取所有文件、处理和写入。我想分别读取多个文件,对它们进行处理和写入
守则:
@Bean
public MultiResourceItemReader<POJO> multiResourceItemReader() {
MultiResourceItemReader<POJO> resourceItemReader = new MultiResourceItemReader<POJO>();
ClassLoader cl = this.getClass().getClassLoader();
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(cl);
Resource[] resources = resolver.getResources("file:" + filePath );
resourceItemReader.setResources(resources);
resourceItemReader.setDelegate(reader());
return resourceItemReader;
}
@Bean
公共MultiResourceItemReader MultiResourceItemReader(){
MultiResourceItemReader resourceItemReader=新的MultiResourceItemReader();
ClassLoader cl=this.getClass().getClassLoader();
ResourcePatternResolver解析器=新路径匹配ResourcePatternResolver(cl);
Resource[]resources=resolver.getResources(“文件:+filePath”);
resourceItemReader.setResources(资源);
setDelegate(reader());
返回resourceItemReader;
}
这就是MultiResourceItemReader
的工作原理。在您的情况下,可以为每个文件创建一个作业实例
让一件事做一件事并做好它有很多优点,在您的用例中,其中一个优点是可重启性:如果其中一个作业失败,您只重新启动失败的作业