zoukankan      html  css  js  c++  java
  • 事务传播机制

    spring事务传播机制

    Propagation.REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择,也是spring默认的事务的传播。

    Propagation.SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。

    Propagation.MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。

    Propagation.REQUIRES_NEW新建事务,如果当前存在事务,把当前事务挂起。

    Propagation.NOT_SUPPORTED以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

    Propagation.NEVER以非事务方式执行,如果当前存在事务,则抛出异常。

    Propagation.NESTED如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

    详解

    Propagation.REQUIRES_NEW

      新建事务,如果当前存在事务,把当前事务挂起。新建的事务将和被挂起的事务没有任何关系,是两个独立的事务,外层事务失败回滚之后,不能回滚内层事务执行的结果,内层事务失败抛出异常,外层事务捕获,也可以不处理回滚操作。

    Propagation.NESTED

      表示如果当前存在事务,则该方法应该运行在一个嵌套事务中,被嵌套的事务可以独立于被封装的事务中进行提交或者回滚。如果封装事务存在,并且外层事务抛出异常回滚,那么内层事务必须回滚,反之,内层事务并不影响外层事务。如果封装事务不存在,则同propagation_required的一样。

  • 相关阅读:
    javascript 杂记
    Sublime Text 3 杂记
    Visual Studio命令行工具
    iOS Crash日志
    Cocos引擎开发者指南(1-5)
    Linux防火墙配置(iptables, firewalld)
    jenkins使用git SCM时changelog乱码(Jenkins部署在Linux上,任务在Windows Slave上构建)
    C#枚举类型
    Java 实现大转盘抽奖
    HaspMap和ConcurrentHashMap
  • 原文地址:https://www.cnblogs.com/517cn/p/10961696.html
Copyright © 2011-2022 走看看