立聪堂德州十三局店 发表于 2024-7-29 02:13:23

出现 Transaction rolled back because it has been marked as rollback-on

1. 问题所示

用户反馈的Bug如下所示:
Transaction rolled back because it has been marked as rollback-only
截图如下:
https://img-blog.csdnimg.cn/direct/0bc0208f869840ea8c87089ef5a921f7.png
欣赏器终端同样显示:
https://img-blog.csdnimg.cn/direct/f47353bd1a69491991755a7f6b75f5cb.png
2. 原理分析

错误表明,在事务的生命周期内,碰到了某个非常或条件,导致该事务被标记为仅回滚
一旦事务被标记为仅回滚,它就不能被提交,并将在事务范围竣事时回滚
通用情况以及办理方式如下:
情况一:非常处理问题
事务管理过程中抛出未捕获的非常,事务将被主动标记为仅回滚,确保全部可能抛出的非常都得到了适当的处理
办理方案:


[*]确保利用 @Transactional 注解的方法中捕获并处理全部非常,或明白指定哪些非常会导致回滚
[*]利用 @Transactional(rollbackFor = Exception.class) 指定特定的非常范例应触发回滚

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 出现 Transaction rolled back because it has been marked as rollback-on