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



  • 相关阅读:
    java Math类方法使用
    线性逻辑回归与非线性逻辑回归pytorch+sklearn
    Java学习方向
    ubuntu16.04安装Anaconda+Pycharm+Pytorch
    迁移学习resnet
    简单的CNN图像分类datasets.MNIST/FashionMNIST
    pytorch学习2
    tools/build.c
    zBoot/Makefile
    tools/version.c
  • 原文地址:https://www.cnblogs.com/yanze/p/10249708.html
Copyright © 2011-2022 走看看