您的位置:首页 > 编程语言 > Java开发

解决spring 事务管理默认不支持SQLException等运行时异常

2015-11-06 20:15 375 查看
公司同事在定位一个bug时,发现spring默认的事务只支持运行时异常的回滚,对于像SQLException这样的非运行时异常,默认的事务机制不能处理,于是找了下解决的办法:

1、在捕获SQLException的时候,抛出一个RuntimeException及其子类,例如:

try {

xxx

} catch (Exception e) {

throw new ModuleException();

}

这里的ModuleException是公司自己定义继承了RuntimeException的类。

2、在spring中添加捕获特定异常的配置





这里因为RuntimeException是Exception的一个子类,所以直接捕获所有的exception也是可以达到出现SQLException时事务回滚的目的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: