首页 > 解决方案 > 春季批量回滚所有步骤以防出现异常

问题描述

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

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

}

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

标签: javaspringspring-batch

解决方案


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

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

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

希望这可以帮助。


推荐阅读