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的一样。

  • 相关阅读:
    iOS截取长图,自定义截取size
    工作
    UITableView适配iOS11
    利用脚本实现build号自动加一
    iOS原生与JS互调
    CSS高级技巧
    伪元素选择器
    CSS设置过渡
    CSS文本属性 二
    css设置圆角矩形
  • 原文地址:https://www.cnblogs.com/517cn/p/10961696.html
Copyright © 2011-2022 走看看