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

加工平台有哪些设备杭州抖音seo

加工平台有哪些设备,杭州抖音seo,阳江市人才招聘网,专业的企业网站开发公司📘 Spring 事务传播行为全景分析表(含代理与回滚细节) ✅ 一、A 和 B 在同一个类中 ⚠️ 本类方法互调(如 this.b())不会经过 Spring 事务代理,B 的事务注解将不生效 1. A 无事务,B 为 Transact…

📘 Spring 事务传播行为全景分析表(含代理与回滚细节)


✅ 一、A 和 B 在同一个类中

⚠️ 本类方法互调(如 this.b()不会经过 Spring 事务代理,B 的事务注解将不生效

1. A 无事务,B 为 @Transactional(REQUIRED)

情况结果说明
A 方法调用 B(this.b())B 无事务,不生效,相当于普通方法
B 方法报错无事务可回滚,异常照常抛出或被处理

结论:B 的事务不生效,A/B 都无事务行为


2. A 为 @Transactional(REQUIRED),B 也为 @Transactional(REQUIRED)

情况结果说明
A 调用 B(this.b())B 事务不生效,相当于 B 方法加入 A 的事务上下文
A 在调用 B 前报错A 回滚,B 未调用
A 调用 B 后报错A 回滚,B 的数据也一起回滚
B 报错A 感知异常,回滚整个事务(包括 B 部分)

结论:B事务注解无效,A 掌控整体事务


3. A 为 @Transactional(REQUIRED),B 为 @Transactional(REQUIRES_NEW)

情况结果说明
A 调用 B(this.b())B 的 REQUIRES_NEW 不生效,等价于 REQUIRED
A 调用 B 后 A 报错A 回滚,B 数据也回滚
B 报错异常回传,A 事务回滚,B 数据也回滚

结论:REQUIRES_NEW 无效,表现等价于 REQUIRED


✅ 二、A 和 B 在不同类中

🎯 方法调用通过 Spring 容器代理对象完成,事务注解均生效

1. A 为 @Transactional(REQUIRED),B 为 @Transactional(REQUIRED)

情况结果说明
A 调用 B 前出错A 回滚,B 未执行
A 调用 B 后出错A 回滚,B 作为同一个事务,数据也回滚
B 报错(运行时异常)整个事务回滚(A + B)
B 报错(被 A 捕获)若未手动标记 rollbackOnly,A 将正常提交 ⚠️

结论:A、B 属于同一个事务体,彼此影响


2. A 为 @Transactional(REQUIRED),B 为 @Transactional(REQUIRES_NEW)

情况结果说明
A 调用 B 前出错A 回滚,B 未执行
A 调用 B 后出错A 回滚,B 独立事务 已提交不回滚
B 报错(运行时异常)B 回滚,A 接收异常是否回滚取决于是否捕获异常
B 报错,A 捕获异常A 正常提交,B 回滚
B 报错,A 未捕获异常A 回滚(由于异常传递),B 已回滚,不受影响

结论:B 与 A 为完全独立事务,异常控制是否影响 A 看是否被捕获


🧠 总结对比表

场景A 是否回滚B 是否回滚说明
同类,A无事务,B为REQUIREDB事务无效
同类,A为REQUIRED,B为REQUIREDB事务失效,实际加入A
同类,A为REQUIRED,B为REQUIRES_NEWB事务失效,表现等价于REQUIRED
不同类,A为REQUIRED,B为REQUIRED同事务体,共生共死
不同类,A为REQUIRED,B为REQUIRES_NEW,A未捕获B异常✅(B先回滚)异常传递导致A回滚
不同类,A为REQUIRED,B为REQUIRES_NEW,A捕获B异常A正常提交,B单独回滚


📌 建议:

  • 若希望 B 独立提交或失败不影响 A必须在不同类中使用 REQUIRES_NEW 并合理处理异常;

  • 若希望 所有操作属于一个事务体,使用默认 REQUIRED,确保 B 被代理;

  • ⚠️ 尽量避免在同一个类中事务自调用,或使用 ApplicationContext.getBean(this.getClass()).b() 替代 this.b() 来绕过代理问题。

http://www.yayakq.cn/news/683356/

相关文章:

  • 尼高网站设计公司wordpress虚拟主机如何安装
  • 网站设计公司哪家专业中国交通建设网站
  • 怎么做蒙文网站个人电商怎么做
  • it 网站模板自做网站
  • 建设公司官方网站诊所网站建设
  • 天津设计公司联系方式网站怎么发内容优化
  • 做网站编辑累不累wordpress 邮件收发
  • 做国外单的网站叫什么网站后端开发流程
  • 建一个自己的网站价格怎么做页游
  • 网站系统的软件和硬件接口广西住房和城乡建设厅网站证件
  • 现在都是用什么做网站wordpress会员介绍页
  • 网站开发工程师社交沈阳做网站的电话
  • 响应式网站教程wordpress建站安全吗
  • 网站建设7个基本流程分析谷歌英文网站
  • 成都网站维护公司通城做网站公司
  • seo站长工具查询系统哪里能找到网站
  • 如何做本地网站广告接单网站
  • 网站网店建设高密建设局网站
  • 网站更换空间后排名消失 首页被k企业建设网站流程
  • 南京网站建设公司哪家好设计师a 网站
  • 河南省网站集约化建设做网站公司选择哪家好
  • 响应式网站开发哪家好怎么把个人做的网站上传到网上
  • 石嘴山北京网站建设会员管理系统小程序
  • 松江网站建设多少钱怎么做的英文网站
  • 建设企业网站的公司网络推广方案的步骤有哪些?
  • 做sns网站要多大空间微信商城怎么进入
  • 网站后台系统的易用性个人网站建设背景和目的
  • 17网站一起做网店 发货慢专业制作网站的公司
  • 网站怎么做弹窗网站内容改版
  • wordpress xml插件私募基金网站怎么做seo