当前位置:   article > 正文

spring 事务传播机制_spring事务中子事务与父事务的回滚关系

spring事务中子事务与父事务的回滚关系

spring 事务传播机制总结

REQUIRED

PROPAGATION_REQUIRED / REQUIRED (spring默认事务传播机制)
支持当前事务,如果当前没有事务,则新建事务

如果当前存在事务,则加入当前事务,合并成一个事务

如果上下文中已经存在事务,那么就加入到事务中执行,如果当前上下文中不存在事务,则新建事务执行。所以这个级别通常能满足处理大多数的业务场景。

事务传播原则:

子事务回滚,父事务一定回滚

父事务回滚,子事务一定回滚
  • 1
  • 2
  • 3
public class ServiceA {   
@Transactional(propagation=Propagation.REQUIRED) 
     void methodA() {
         ServiceB.methodB();
     }
}

public class ServiceB { 
@Transactional(propagation=Propagation.REQUIRED) 
     void methodB() {
     //todo
     }      
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

REQUIRES_NEW

新建事务,如果当前存在事务,则把当前事务挂起

这个方法会独立提交事务,不受调用者的事务影响,父级异常,它也是正常提交

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/387190
推荐阅读
相关标签
  

闽ICP备14008679号