zoukankan      html  css  js  c++  java
  • Spring事务管理——事务的传播行为

    1、简介

           当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。

    事务的传播行为可以由传播属性指定。Spring定义了7种类传播行为。如下图所示:

    2、传播属性的定义

         ①、事务的传播属性可以再@Transactional注解的propagation属性中定义。如图所示:

          ②、Spring 2.x事务通知中,可以像下面这样在<tx:method>元素中设定传播事务属性。

    3、常用的两种传播行为的说明

                ①、REQUIRED传播行为

          bookServicepurchase()方法被另一个事务方法checkout()调用时,它默认会在现有的事务内运行。这个默认的传播行为就是REQUIRED。因此在checkout()方法的开始和终止边界内只有一个事务。这个事务只在checkout()方法结束的时候被提交,结果用户一本书都买不了。

       

        ②、REQUIRES_NEW传播行为

                     表示该方法必须启动一个新事务,并在自己的事务内运行。如果有事务在运行,就应该先挂起它。

  • 相关阅读:
    如何用VSCode手动编译Ace Editor
    libuv源码分析
    二叉平衡查找树---红黑树
    tcp滑动窗口与拥塞控制
    ceph架构剖析
    腾讯面试总结
    协程的实现原理
    dhcp协议交互报文
    libuv源码分析前言
    Protobuf使用规范分享
  • 原文地址:https://www.cnblogs.com/of-fanruice/p/7460336.html
Copyright © 2011-2022 走看看