当前位置: 首页 > news >正文

Spring事务的传播方式

Spring 事务的传播行为定义了当一个事务方法调用另一个事务方法时,两个方法的事务如何关联。Spring 中通过 @Transactional Propagation 枚举类定义了 7 种传播方式,具体如下:


1. REQUIRED(默认传播行为)

如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新事务。


2. SUPPORTS

如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务方式执行(不开启事务)。


3.MANDATORY(强制)

必须在已存在的事务中执行;如果当前没有事务,则直接抛出 IllegalTransactionStateException 异常。

4. REQUIRES_NEW

无论当前是否存在事务,都新建一个独立的事务;如果当前存在事务,则将当前事务挂起(暂停执行),直到新事务完成。


5. NOT_SUPPORTED

以非事务方式执行;如果当前存在事务,则将当前事务挂起(直到非事务操作完成)。


6. NEVER(绝不)

必须在非事务环境中执行;如果当前存在事务,则直接抛出 IllegalTransactionStateException 异常。


7. NESTED(嵌套)

如果当前存在事务,则在嵌套事务中执行(当前事务的 “子事务”,依赖主事务);如果当前没有事务,则创建一个新事务(与 REQUIRED 一致)。

Spring 在处理是否存在事务时是通过 ThreadLocal 存放事务资源,如果存在事务那么从ThreadLocal get 方法获取到事务信息的不为空,那么这个时候根据事务传播方式进一步处理

http://www.dtcms.com/a/483606.html

相关文章:

  • 【强化学习】初探强化学习
  • 建发观堂府:以生态赋能居住价值 二期大户型携品质会所启新篇
  • 【第4篇】InternImage(CVPR2023):探索由可形变卷积构成的纯视觉大模型
  • OpenBMB开源组织介绍
  • 微软OneDrive AI人脸扫描限制:每年仅可关闭三次
  • 哪里有做网站的教程外贸网络推广服务
  • 第七章——流程逻辑
  • 什么叫网站后台如何设置网站名字吗
  • Product Hunt 每日热榜 | 2025-10-14
  • 网站建设 说明太原手机模板建站
  • 佛山企业网站seo手机网站翻译成中文
  • 在Amazon Athena中轻松在线解密Glue DataBrew加密数据:一种无缝的数据安全实践
  • 7.DSP学习记录之数码管
  • AI的基本知识
  • 自定义排序
  • 我要做网站建设网站需要多少费用
  • Java网络通讯数据封装艺术:从字节流到业务对象的完美转换
  • 智能垃圾桶MUC方案开发设计
  • 新手建网站推荐用c 做的网站怎么打开
  • 层次隐马尔可夫模型:理论与应用详解
  • 河南企业网站排名优化价格网站开发的必要性
  • ps做网站需注意什么陕西网站制作公司排名
  • 青岛城阳做网站wordpress标题修改
  • 【python学习】文件操作
  • 安卓上怎么做单机网站什么网站可以做英语题
  • 营销型网站上海制作简约网站首页
  • 【详细证明 | 题解】洛谷 P2508 [HAOI2008] 圆上的整点 [数学]
  • 化州市建设局网站淘宝联盟怎么建设网站
  • 为什么函数会被变量“覆盖”?三大语言命名机制解析
  • 第一个 Vue 程序:从入门到实战笔记(初学者专属)