我正在使用 Spring Batch 从 CSV 文件中读取一些数据并将其放入数据库中。我的批处理作业必须包含两个步骤:
- 检查文件(名称、扩展名、内容..)
- 从 CSV 读取行并将它们保存在数据库中(ItemReader、ItemProcessor、ItemWriter..)
Step 2
如果Step 1
生成错误,则不得执行(文件不符合,文件不存在......)
仅供参考,我正在使用没有 XML 配置的 Spring Batch!只有注释:这是我的工作配置类的样子:
@Configuration
@EnableBatchProcessing
public class ProductionOutConfig {
@Autowired
private StepBuilderFactory steps;
@Autowired
private JobBuilderFactory jobBuilderFactory;
@Autowired
private ProductionOutTasklet productionOutTasklet;
@Autowired
private CheckFilesForProdTasklet checkFilesForProdTasklet;
@Bean
public Job productionOutJob(@Qualifier("productionOut")Step productionOutStep,
@Qualifier("checkFilesForProd") Step checkFilesForProd){
return jobBuilderFactory.get("productionOutJob").start(checkFilesForProd).next(productionOutStep).build();
}
@Bean(name="productionOut")
public Step productionOutStep(){
return steps.get("productionOut").
tasklet(productionOutTasklet)
.build();}
@Bean(name = "checkFilesForProd")
public Step checkFilesForProd(){
return steps.get("checkFilesForProd")
.tasklet(checkFilesForProdTasklet)
.build();
}
}