zoukankan      html  css  js  c++  java
  • 事务(十二)

    spring 事务不生效的几种情况

    情况(一):

     1 /**
     2  * @Description //lf 事务不生效 情况 (一)
     3  **/
     4 @Override
     5 public boolean ta(Config config) {
     6     //lf 当没有 @Transactional 注解的方法(ta)调用添加 @Transactional 注解的方法(tb)
     7     // 这时调用完成后 ta 抛出异常,
     8     // @Transactional原理是基于spring aop,aop又是动态代理模式的实现 内部调用,没有走代理,
     9       //   用的是this
    10     
    11     tb(config);
    12     int a=1/0;
    13     return true;
    14 }
    15 @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
    16 public Boolean tb(Config config){
    17     save(config);
    18     return true;
    19 }

    情况(二):

    1   @Transactional(propagation = Propagation.REQUIRED)
    2     public Boolean tb(Config config){
    3         // lf  非RuntimeException 错误,都不会回滚。
    4         //  所以这情况需要在 注解里添加rollback = Exception.css, 所有异常都进行回滚
    5         save(config);
    6         return true;
    7     }

    情况(三):

    这三种情况都不会生效,当然现在idea很只能了,添加这些是不能和@Transactional 注解同时存在的

    所有还有事务注解的方法 一定是public 标识,

    • private 方法无法添加事务管理.
    • final 方法无法添加事务管理.
    • static 方法无法添加事务管理.

    情况(四):

     1   /**
     2      * @Description //lf 事务不生效 情况(四)  
     3      */
     4     @Transactional(propagation = Propagation.REQUIRED)
     5     public boolean ta1(Config config) {
     6         // lf 添加了try{}catch 也不会进行回滚 需要把异常抛出或 设置事务回滚
     7         try {
     8             tb1(config);
     9             int a=1/0;
    10         } catch (Exception e) {
    11             // lf 设置事务回滚
    12             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
    13         }
    14         return true;
    15     }

    转载:https://blog.csdn.net/qq_38380025/article/details/105859817








    带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯
  • 相关阅读:
    线程安全(上)--彻底搞懂volatile关键字
    数据库设计三大范式
    1、框架及环境搭建
    约瑟夫问题
    链表(上):如何实现LRU缓存淘汰算法?
    为什么很多编程语言中数组都是从 0 开始编号?
    mac 终端命令小结
    复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度
    复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
    程序员少走弯路的10条忠告和成就一生的10个经典故事
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/14531324.html
Copyright © 2011-2022 走看看