• 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



  • 相关阅读:
    脏矩形(高效绘图 13.3)
    矢量图形(高效绘图 13.2)
    软件绘图(高效绘图 13.1)
    Instruments(性能调优 12.3)
    测量,而不是猜测(性能调优 12.2)
    CPU VS GPU(性能调优 12.1)
    物理模拟(基于定时器的动画 11.2)
    RHEL Server 6.3下MySQL5.5.25a源码安装
    Linux rpm 命令参数使用详解
    db2 用户权限
  • 原文地址:https://www.cnblogs.com/yanze/p/10249708.html
Copyright © 2020-2023  润新知