首页 > 代码库 > 解决spring 事务管理默认不支持SQLException等运行时异常
解决spring 事务管理默认不支持SQLException等运行时异常
公司同事在定位一个bug时,发现spring默认的事务只支持运行时异常的回滚,对于像SQLException这样的非运行时异常,默认的事务机制不能处理,于是找了下解决的办法:
1、在捕获SQLException的时候,抛出一个RuntimeException及其子类,例如:
try {
xxx
} catch (Exception e) {
throw new ModuleException();
}
这里的ModuleException是公司自己定义继承了RuntimeException的类。
2、在spring中添加捕获特定异常的配置
这里因为RuntimeException是Exception的一个子类,所以直接捕获所有的exception也是可以达到出现SQLException时事务回滚的目的。
解决spring 事务管理默认不支持SQLException等运行时异常
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。