• 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

      有事务就抛异常

    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    Angularjs中添加ckEditor插件
    Angularjs中添加HighCharts
    ngTbale真分页实现排序、搜索等功能
    移动端小功能杂记(三)
    Html5 history Api简介
    移动端流程页处理
    Html5离线缓存简介
    多Tabs的横向滚动插件(支持Zepto和jQuery)
    flutter从零开始第一篇-环境搭建(Windows)
    vue 父子组件与全局数据传递共享
  • 原文地址:https://www.cnblogs.com/smallVampire/p/12777644.html
Copyright © 2020-2023  润新知