zoukankan      html  css  js  c++  java
  • 解决spring 事务管理默认不支持SQLException等运行时异常

         公司同事在定位一个bug时,发现spring默认的事务只支持运行时异常的回滚,对于像SQLException这样的非运行时异常,默认的事务机制不能处理,于是找了下解决的办法:
        1、在捕获SQLException的时候,抛出一个RuntimeException及其子类,例如:
         try {
                   xxx
            } catch (Exception e) {
                   throw new ModuleException();
           }
    这里的ModuleException是公司自己定义继承了RuntimeException的类。
       2、在spring中添加捕获特定异常的配置



    这里因为RuntimeException是Exception的一个子类,所以直接捕获所有的exception也是可以达到出现SQLException时事务回滚的目的。

  • 相关阅读:
    对deferred(延迟对象)的理解
    string 、char* 、 char []的转换
    char* 和 cha[]
    层序遍历二叉树
    之字形打印二叉树
    右值
    函数指针(待修改)
    top k

    哈夫曼编码
  • 原文地址:https://www.cnblogs.com/dreammyle/p/6349811.html
Copyright © 2011-2022 走看看