gpt4 book ai didi

java - Spring Batch - 即使 block 引发一些异常,是否有办法提交数据?

转载 作者:行者123 更新时间:2023-12-01 16:57:28 27 4
gpt4 key购买 nike

我有一个从队列读取、处理并写入数据库的进程。即使过程失败,我也必须存储在数据库中。但 Spring Batch 步骤是事务性的,并且始终回滚更改。那么,即使 block 引发一些异常,有没有办法提交数据?

编辑我:

我尝试使用 Tasklet 但得到了相同的行为。

提前致谢。

最佳答案

在配置步骤时,可以使用noRollback()来配置不会导致回滚的异常列表。任何作为已配置异常子类的异常都不会回滚。这意味着如果您只是想永远不回滚,请将其设置为 Exception,它是所有异常的父级。

可以在 docs 中找到示例:

@Bean
public Step step1() {
return this.stepBuilderFactory.get("step1")
.<String, String>chunk(2)
.reader(itemReader())
.writer(itemWriter())
.faultTolerant()
.noRollback(Exception.class)
.build();
}

关于java - Spring Batch - 即使 block 引发一些异常,是否有办法提交数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61567420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com