什么是事务传播机制?

Spring Boot 事务传播机制是指,包含多个事务的方法在相互调用时,事务时如何在这些方法之间传播的。

Spring Boot 事务传播机制可使用 @Transactional(propagation=Propagation.REQUIRED)来定义,事务传播机制的级别包含以下 7 种:

  1. Propagation.REQUIRED :默认的事务传播级别,它表示如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。
  2. Propagation.SUPPORTS :如果当前存在事务,则加入该事务,如果当前没有事务,则以非事务的方式继续运行
  3. Propagation.MANDATORY :如果当前存在事务,则加入该事务,如果当前没有事务,则抛出异常
  4. Propagation.REQUIRES_NEW :表示创建一个新的事务,如果当前存在事务,则把当前事务挂起。也就是说不管外部方法是否开启事务,RE.. 修饰的内部方法会新开期自己的事务,且开启事务相互独立,互不干扰
  5. Propagation.NOT_SUPPORTED:以非事务方式运行,如果当前存在事务,则抛出异常。
  6. Propagation.NEVER:以非事务方式运行,如果当前存在事务,则抛出异常。
  7. Propagation.NESTED:如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;如果当前没有事务,则该取价等于PROPAGATION_REQUIRED。
相关推荐
折哥的程序人生 · 物流技术专研3 分钟前
Tomcat 严重警告:JDBC 驱动未注销 + 工作线程泄漏 —— 原因、影响与彻底修复(生产级终极指南)
java·运维·数据库·mysql·oracle·tomcat
一个儒雅随和的男子6 分钟前
sentinel底层原理剖析以及实战优化
java·网络·sentinel
初圣魔门首席弟子8 分钟前
Qt C++ 项目实战:修改共享头文件后的高效增量编译与快速发布流程
数据库
wb043072019 分钟前
仓库搬家不停业——从阿明的“在线换仓库“,看数据库迁移与 Schema 演进的实战方法论
数据库·adb·架构
两年半的个人练习生^_^12 分钟前
JMM 进阶:彻底理解 synchronized 实现原理
java·开发语言
lx1885486989613 分钟前
Redis大Key阻塞:单线程CPU100%的致命陷阱
数据库·redis·缓存
IT策士16 分钟前
Redis 从入门到精通:位图、HyperLogLog、GEO
数据库·redis·缓存
戳代码的新星19 分钟前
论小白如何学会使用Maven
java·maven
wyhwust19 分钟前
maven的安装和配置
java
拄杖忙学轻声码26 分钟前
mysql脚本查询数据,符合指定条件的排在数据列表最前面,实现方式
mysql