在一个步骤中发生异常的情况下,春季批处理回滚所有步骤

时间:2018-12-10 08:08:43

标签: java spring spring-batch

Job lensJob(JobBuilderFactory jbf, StepBuilderFactory sbf) throws Exception{

    return jbf
            .get("myJob")
                .incrementer(new RunIdIncrementer())
                .listener(jobResultListener)
                .start(step1Lens())
                .next(step2Lens())
                .build();

}

因此,在我的情况下,我的工作包含2个步骤,这些步骤从同一文件读取并插入数据库的不同表中,我正在寻找的是一种在引发异常时自动回滚所有步骤的方法,以防万一插入记录以自动删除

1 个答案:

答案 0 :(得分:0)

那是不可能的,没有跨步交易。

  

从同一文件读取并插入到不同的表中

您可以在CompositeItemWriter中将两个作者(每个表一个作者)配置为代表。使用此配置,事务回滚将回滚两个表中写入的项目。

希望这会有所帮助。