springbatch对多个文件读写数据操作

读数据:

@Configuration
public class ItemReaderMultiFileDemo {
    @Autowired
    private JobBuilderFactory jobBuilderFactory;
    @Autowired
    private StepBuilderFactory stepBuilderFactory;
    @Autowired
    private ItemReader<Person> multiFileReader;

    @Bean
    public Job itemReaderMultiFileJob() {
        return jobBuilderFactory.get("itemReaderMultiFileJob")
                .start(itemReaderMultiFileStep())
                .build();
    }

    public Step itemReaderMultiFileStep() {
        return stepBuilderFactory.get("itemReaderMultiFileStep")
                .<Person, Person>chunk(2)
                .reader(multiFileReader)
                .writer(list -> {
                    for (Person person : list) {
                        System.out.println("multiFile=============" + person);
                    }
                })
                .build();
    }

}

写数据:

@Configuration
public class ItemWriteMultiFileDemo {
    @Autowired
    private JobBuilderFactory jobBuilderFactory;
    @Autowired
    private StepBuilderFactory stepBuilderFactory;
    @Autowired
    private ItemReader<Person> dbReader;
    @Autowired
    private ItemWriter<Person> classifierMultiWriter;
    @Autowired
    private ItemStreamWriter<Person> fileWrite;
    @Autowired
    private ItemStreamWriter<Person> xmlWrite;

    @Bean
    public Job itemWriteMultiFileJob() {
        return jobBuilderFactory.get("itemWriteMultiFileJob")
                .start(itemWriteMultiFileStep())
                .build();
    }

    @Bean
    public Step itemWriteMultiFileStep() {
        return stepBuilderFactory.get("itemWriteMultiFileStep")
                .<Person, Person>chunk(1)
                .reader(dbReader)
                .writer(classifierMultiWriter)
                .stream(fileWrite)
                .stream(xmlWrite)
                .build();
    }
}

 


版权声明:本文为lyf_ldh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。