美文网首页
Spring的事务传播机制

Spring的事务传播机制

作者: CodeYang | 来源:发表于2021-09-14 09:15 被阅读0次

多个事务相互调用时,事务如何在这些方法之间进行传播,Spring提供了7种不同的传播特性,来保证事务的正常执行:

REQUIRED:默认的传播特性,如果当前没有事务,则新建一个事务,如果当前存在事务,则加入这个事务。

SUPPORTS:当前存在事务,则加入该事务,如果当前事务不存在,则以非事务的方式执行。

MANDATORY:当前存在事务,则加入该事务,如果当前事务不存在,则抛出异常。

REQUIRED_NEW:创建一个新事务,如果当前存在事务,则挂起当前事务。

NOT_SUPPORTED:以非事务的方式执行,如果当前存在事务,则挂起当前事务。

NEVER:不使用事务,如果当前存在事务,则抛出异常。

NESTED:如果当前事务存在,则在嵌套事务中执行,否则REQUIRED的操作一样。

NESTED 和 REQUIRED_NEW 的区别:
REQUIRED_NEW 是新建一个事务并且新开始的这个事务与原事务无关,而NESTED则是当前存在事务时会开启一个嵌套事务,在NESTED情况下,父事务回滚时,子事务也会回滚,而REQUIRED_NEW 情况下,原有事务回滚,不会影响新开启的事务。

NESTED 和 REQUIRED 的区别:
REQUIRED情况下,调用方存在事务时,则被调用方和调用方使用同一个事务,那么被调用方出现异常时,由于共用一个事务,所以无论是否catch 异常,事务都会回滚。而NESTED 情况下,被调用方发生异常时,调用方可以catch异常,这样只有子事务回滚,父事务不会回滚。

相关文章

  • Spring 事务

    ** 但是Spring事务有自己的特点,也就是事务传播机制。** ** 所谓事务传播机制,也就是在事务在多个...

  • SSM spring 2

    1 Spring 事务实现方式、事务的传播机制、默认的事务类别 Spring事务的1+3种实现方式、7种传播行为、...

  • 问题记录

    面试题记录 spring spring事务传播机制和隔离级别? spring支持的事务类型? 什么是 Spring...

  • 有关Spring事务,看这一篇就足够了

    本文将按照声明式事务的五个特性进行介绍: 事务传播机制 事务隔离机制 只读 事务超时 回滚规则 Spring事务传...

  • #30天专注成长计划# day18 Spring事务机制2-事务

    Spring事务机制传播主要由TransactionDefinition完成,在TransactionDefini...

  • 十六、spring事务之事务传播机制和隔离级别

    Spring事务传播行为 运用Spring事务,必须要深入理解它的传播机制,否则会遇到各种意想不到的坑,Sprin...

  • 2、spring事物的传播机制与隔离级别

    Spring事务传播行为 运用Spring事务,必须要深入理解它的传播机制,否则会遇到各种意想不到的坑,Sprin...

  • Spring事务传播机制

    开发中有多个事务方法嵌套调用时,就涉及到了 Spring 的事务传播机制。 下面梳理一下 7 种传播机制的含义,做...

  • Spring事务传播机制

    传播性行为分为以下几种 PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务...

  • Spring事务传播机制

    在TransactionDefinition接口中定义了七个事务传播行为。先说最常用的三个 PROPAGATION...

网友评论

      本文标题:Spring的事务传播机制

      本文链接:https://www.haomeiwen.com/subject/nltbwltx.html