Java Transaction silently rolled back because it has been marked as rollback-only问题解决
问题描述:
org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only
问题分析:
1、嵌套的两个方法都加了@Transaction注解,事务嵌套导致了报错。
@Transactional
public void test1(){test2();
}
@Transactional
public void test2(){double n=1/0;
}
解决办法:
具体需求分为以下3种情况。
(1)仅仅解决这个报错,去掉其中一个方法的@Transaction注解。
public void test1(){test2();
}
@Transactional
public void test2(){double n=1/0;
}
(2)不想去掉两个方法的@Transaction注解,因为这两个方法可能需要单独调用,但是里面的方法报错,两个事务都需要回滚。这时候需要针对里面的方法报错进行手动回滚事务。
@Transactional
public void test1(){int n=1/0;try{test2();}catch(Exception e){e.printStackTrace();TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();}
}
@Transactional
public void test2(){double n=1/0;
}
(3)不想去掉两个方法的@Transaction注解,因为这两个方法可能需要单独调用,但是里面的方法报错时仅仅回滚里面的那层事务,而外面的方法不受影响。这时候需要针对外面的方法报错进行手动回滚事务。
@Transactional
public void test1(){try{int n=1/0;try{test2();}catch(Exception e){e.printStackTrace();}}catch(Exception e){e.printStackTrace();TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();}
}@Transactional
public void test2(){double n=1/0;
}
旭东怪的个人空间_哔哩哔哩_Bilibili旭东怪,人生低谷不可怕,可怕的是坚持不到人生转折点的那一天;旭东怪的主页、动态、视频、专栏、频道、收藏、订阅等。哔哩哔哩Bilibili,你感兴趣的视频都在B站。https://space.bilibili.com/484264966?spm_id_from=333.1007.0.0
Java Transaction silently rolled back because it has been marked as rollback-only问题解决相关推荐
- saveOrUpdate Transaction silently rolled back because it has been marked as rollback-only
天坑 先说说我为什么报这个bug吧: 经过多次测试,是因为session调用saveOrUpdate方法的时候id的值传错然后就有下面的异常: org.springframework.transact ...
- Transaction silently rolled back because it has been marked as rollback-only
出现这个错误的原因是事务双重回滚了. 模块间的相互调用时,被调用的模块有事务提交,在报错之后事务回滚,返回错误信息, 调用模块收到被调用模块的错误信息再一次进行事务回滚. 解决方法:在调用模块方法上挂 ...
- Transaction silently rolled back because it has been marked as rollback-only Spring事务嵌套问题
A和B都有事务,A调用B,B中抛出了异常,A这边捕获B的异常,但是没有将异常抛出,导致A方法执行结束时,提交事务,出现了上述的错误. 同一个类,内部方法调用不走代理,spring基于注解的事务是基于代 ...
- 解决org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back beca
文章目录 1. 复现错误 2. 分析错误 3. 分析spring的事务机制 3.1 入口程序 3.2 事务管理的主方法 3.3 细究各对象的获取 4. functionTwo方法抛异常后的回滚操作 5 ...
- Transaction has been rolled back because it has been marked as rollback
框架采用的是spring管理声明式事务,这几天业务开发时遇到了点麻烦,记录下备忘. 场景:在Service类中使用子事务(saveponit)时,当子事务抛出异常后,此异常处理掉不继续往外抛,spri ...
- Spring事务 Transaction rolled back because it has been marked as rollback-only
前言 使用Spring事务时,出现异常:org.springframework.transaction.UnexpectedRollbackException: Transaction rolled ...
- Transaction rolled back because it has been marked as rollback-only
http://hsyd.iteye.com/blog/586772 错误信息: Transaction rolled back because it has been marked as rollba ...
- “Transaction rolled back because it has been marked as rollback-only”
spring的声明事务提供了强大功能,让我们把业务关注和非业务关注的东西又分离开了.好东西的使用,总是需要有代价的.使用声明事务的时候,一 个不小心经常会碰到"Transaction rol ...
- 【Spring】21、用spring目标对象处理Transaction rolled back because it has been marked as rollback-only...
在使用spring做事务管理时,很多人都会遇到这样一段异常: org.springframework.transaction.UnexpectedRollbackException: Transact ...
最新文章
- 【Mysql 学习路线图】
- 20100422.C#.const VS readonly
- js修改video的source_利用 javascript MediaSource 将 HTML video标签的src转成加载blob
- How to change the text color in the terminal
- springboot获取项目路径_springboot学习
- pythongui项目实例_python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例...
- C++ 从入门到入土(English Version) Section 1:Gates, Circuits and Boolean Algebra
- 开启 TLS 1.3 加密协议,极速 HTTPS 体验
- python直方图均衡_python 简单图像处理(8) 直方图均衡化
- 幸运彩票 分数 15作者 陈越单位 浙江大学
- WeWork上演宫斗大戏,这个市还上吗?
- [动态系统的建模与分析]15_伯德图,bode图,为什么是20logM?分贝又是什么?
- Vue使用axios处理后端数据流,导出excel
- Python:实现SCC的Kosaraju算法(附完整源码)
- AWS KMS加密和解密
- 《后盾网Thinkphp5博客项目实战》最全
- Android存储系统-MountService 和vold 对外置存储的管理(2)
- 深入理解Java7.pdf
- JQueryDOM和遍历
- TypesScript类型注解
热门文章
- 翻译:Panda3D Manual/V. Programming with Panda/E. Camera Control
- fpga串口打印计数值作业
- 广西规范市场主体信息归集公示运用 推进社会信用体系建设
- Scala基础教程--10--数组列表与函数式编程
- Android状态栏微技巧,带你真正理解沉浸式模式
- Vue DevTools `Devtools inspection is not available` 使用问题
- (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
- Python零基础到精通-高级篇
- 硬件程序员和软件开发程序员相比,哪一个就业发展前景比较好呢?
- 关于基于Linux的电子词典的编写