zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    MongoDB 数组
    MongoDB 内嵌文档
    MongoDB 聚合操作
    MongoDB 文档的删除操作
    MongoDB 文档的更新操作
    MongoDB 文档的查询和插入操作
    MongoDB 安装和可视化工具
    SSIS 容器
    SSISDB2:SSIS工程的操作实例
    Replication:distribution 中一直在运行 waitfor delay @strdelaytime 语句
  • 原文地址:https://www.cnblogs.com/ming-blogs/p/10865493.html
Copyright © 2011-2022 走看看