zoukankan      html  css  js  c++  java
  • Spring的事务传播特性

    在spring中可通过使用注解@Transcation( propagation = "传播机制")实现事务的传播,Spring中有7种传播机制

    1.默认传播:PROPAGATION_REQUIRED 

    •   支持当前的事务,如果当前没有事务,就新建事务;
    •    如果当前已有事务,则合并为一个事务。

      解释:如果有个父方法A和子方法B,只要有一个带有事务,那么A和B都将拥有事务。

    2.独立事务:REQUIRES_NEW

    •   如果当前已拥有事务,则把当前事务挂起,新建事务
    •   该机制下的事务不受其它调用者事务的影响

      解释:如果有个父方法A(有事务)和子方法B(有事务),如果A抛出异常,而B使用了这个声明事务,那么B仍会继续提交(不受A事务影响)

    3.NESTED

    •  如果当前存在事务,它将会成为父级的一个子事务,方法结束后并没有提交,只是等待父事务结束才提交。
    •  如果当前没有事务,则新建事务。
    •  如果它本身异常,父级可以捕获到它的异常,而不进行回滚。正常提交。
    •   但是如果父级异常,它必然回滚。

         解释:一切以父级事务为主

    4.SUPPORTS

    •   若当前已有事务,则加入事务;
    •   若当前没有事务,则以无事务进行;

      解释:佛系事务,有就用,没有就不用了

    5.NOT_SUPPORTS

      不支持事务,如果当前有事务,则把该事物挂起

    6.MAMDATORY

    •   若当前有事务,则运行当前事务;
    •   若当前没有实物,则抛异常;

      解释:父级若没有事务,就不干了

    7.NEVER

      有事务就抛异常

    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    const char* && string && String^ 类型转换
    vs2010 vc++ 统一修改所有工程的目录配置
    OSG开发概览
    osg渲染数据高程文件
    postgis数据库文件shapefile导入 dbf file (.dbf) can not be opened.shapefile import failed.
    Point ZM 转换为Point 类型
    Extjs关于alert显示不出—异步问题
    js执行顺序<转>
    HTML中IFrame父窗口与子窗口相互操作
    SpringMVC学习系列(6) 之 数据验证
  • 原文地址:https://www.cnblogs.com/smallVampire/p/12777644.html
Copyright © 2011-2022 走看看