• Spring事务传播行为


    Spring事物传播行为

    Spring中事务的定义:

    Propagation(key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。)有以下选项可供使用:

    PROPAGATION_REQUIRED:如果当前有事务,就用当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。//如果外层方法有事务,就使用外层方法的事务。如果外层方法没有事务,则使用内层方法的事务。

    PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。//如果外层方法没有事务,就会以非事务进行执行。

    PROPAGATION_MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。 //如果外层方法没有事务,内层方法有事务会报错。

    PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。 //如果外层方法有事务,内层方法的事务类型为(PROPAGATION_REQUIRES_NEW) ,则执行内层方法事务。如果外层在调用内层方法结束之后方法出错,不会影响内层事务做的操作。

    PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。//如果外层方法有事务,就会以非事务方式执行。

    PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。//如果外层方法有事务,内部事务也有事务类型为(PROPAGATION_NEVER),则报错。

     

    默认传播行为为REQUIRED

  • 相关阅读:
    2017沈阳站 Tree
    P2146 [NOI2015]软件包管理器
    hdu3307 欧拉函数
    poj 3126 Prime Path bfs
    CSL的字符串
    P1045 麦森数
    洛谷 P1338 末日的传说
    树链剖分
    SQL[Err] ORA-00933: SQL command not properly ended
    Postman 快速入门之脚本
  • 原文地址:https://www.cnblogs.com/ming-blogs/p/10865493.html
Copyright © 2020-2023  润新知