• 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

      有事务就抛异常

    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    atom 震动特效
    CSRF和XSS
    解决remove @override annotation(jdk1.5和jdk1.6)
    JDK 工具列表
    解决Win10系统backgroundTaskHost占用cpu大
    ideaIU-15.0.2 注册码
    jprofiler_windows-x64_9_1注册码
    修改ligerui 默认确认按钮
    解决 在POM配置Maven plugin提示错误“Plugin execution not covered by lifecycle configuration”
    安装 Flex2packagebeta_1.994
  • 原文地址:https://www.cnblogs.com/smallVampire/p/12777644.html
Copyright © 2020-2023  润新知