zoukankan      html  css  js  c++  java
  • Spring事务传播行为

    什么是Spring事务传播行为?

    事务传播行为用来描述由某一个事务传播行为修饰的方法被嵌套进另一个方法的时,事务如何传播。

    假设ServiceA 中方法A()调用 ServiceB中方法 B()(B被事务修饰),那么会有两种情况:

    方法A有事务,方法B有事务

    方法A没有事务,方法B有事务

    Spring中的事务传播行为有7种,默认为 Propagation.REQUIRED:

    1. Propagation.REQUIRED

    如果当前存在事务,则加入该事务,如果当前不存在事务,则创建一个新的事务。

    2. Propagation.SUPPORTS

    如果当前存在事务,则加入该事务;如果当前不存在事务,则以非事务的方式继续运行。

    3. Propagation.MANDATORY

    如果当前存在事务,则加入该事务;如果当前不存在事务,则抛出异常。

    4. Propagation.REQUIRES_NEW

    重新创建一个新的事务,如果当前存在事务,暂停当前的事务。

    5. Propagation.NOT_SUPPORTED

    以非事务的方式运行,如果当前存在事务,暂停当前的事务。

    6. Propagation.NEVER

    以非事务的方式运行,如果当前存在事务,则抛出异常。

    7. Propagation.NESTED

    和 Propagation.REQUIRED 效果一样。

    备注:

    当前,可理解为上例中的A方法。

    详情可见:https://blog.csdn.net/pml18710973036/article/details/58607148



  • 相关阅读:
    (转)描述线程与进程的区别?
    Python学习笔记:ceil、floor、round、int取整
    Python学习笔记:SQL中group_concat分组合并操作实现
    Python学习笔记:pd.rank排序
    函数声明
    Dictionary 介绍
    Tuple介绍
    List介绍
    DataGridView 如何退出 编辑状态
    C#实现打印与打印预览功能
  • 原文地址:https://www.cnblogs.com/yanze/p/10249708.html
Copyright © 2011-2022 走看看