zoukankan      html  css  js  c++  java
  • spring中的事务传播

    @Transaction
    public void bigold(){
      didi();
      //出线异常
      int a = 10/0;//老大的方法肯定要回滚,小弟的方法要不要回滚
    }

    @Transaction
    public void didi(){

      //小弟异常,老大要不要回滚
    }

    事务的传播特性是:老大调用小弟时,小弟/老大的方法怎么办。

    //死活不要事务
    Nerver:老大没有事务,就执行。老大有事务,小弟就不执行。
    NOT_SUPPORTED:没有就以非事务,老大有事务就把老大就把老大挂起。

    //可有可无
    SUPPORTS

    //必须有事务
    REQUIRES_NEW:老大没有事务就给他新建一个事务,我还是按照我的事务进行;如果老大有事务老大的事务还是老大的,我继续执行我的。
    NESTED: 嵌套事务
    REQUESTED: 如果老大没有事务就新建一个事务。如果老大有事务就使用老大的事务。
    MANDTORY: 如果老大没有事务,就抛出异常。如果有,就使用当前自己的事务。

    spring默认的事务传播行为是REQUESTED

  • 相关阅读:
    UVA1599 理想路径 Ideal Path(最短路径)
    换根DP
    小w的魔术扑克(树状数组+并查集)
    NOIP 2016蚯蚓(优先队列)
    ZR 动物园
    T105017 seq(DP)
    noip2017酱油记
    noip2017酱油记前篇
    P1985 翻转棋
    luogu P2512 [HAOI2008]糖果传递
  • 原文地址:https://www.cnblogs.com/kltsee/p/13394386.html
Copyright © 2011-2022 走看看