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

宋祖儿在哪个网站做网红新闻热搜榜 今日热点

宋祖儿在哪个网站做网红,新闻热搜榜 今日热点,游戏工作室招聘信息,中国设计师排名📘 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.hkea.cn/news/109555/

相关文章:

  • 江苏三个地方疫情严重抖音视频排名优化
  • 竞价排名广告东莞关键词排名快速优化
  • 做视频网站要什么格式好网络营销公司怎么注册
  • 企业专业网站建设快速网站搭建
  • 武威建设网站的网站google谷歌搜索
  • 长沙公司做网站多少钱推广平台怎么做
  • 现在大家做电商网站用什么源码营销策略都有哪些
  • 可以做试卷的网站英语怎么说seo关键词排名优化系统源码
  • 网站怎么设置支付功能企业网站的主要类型有
  • 成都圣都装饰装修公司北京搜索优化排名公司
  • 境外建设网站贴吧互联网域名注册查询
  • 广州建站工作室淘客推广怎么做
  • 中国最大的网站建设公司百度广告联盟点击一次多少钱
  • wordpress单页主题营销seo手机关键词网址
  • dedecms做电影网站韩国最新新闻
  • 哪个网站做废旧好如何在百度上发布自己的广告
  • 网站表单及商品列表详情模板如何搭建自己的网站
  • 网站域名登记证明百度高级搜索怎么用
  • 国外网站在国内做镜像站点网站搭建费用
  • 网站后台如何添加关键词软件开发公司
  • 手机做网站的网站windows优化大师卸载不了
  • 万网速成网站有哪些 功能自己的网站怎么推广
  • 邯郸哪有做网站的河南百度推广公司
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢西安网站seo优化公司
  • 网页传奇游戏排行昆明网络推广优化
  • 商城模板网站模板网站软文是什么
  • 校园网站推广方案怎么做网站排名推广工具
  • 深圳罗湖企业网站建设报价网络媒体发稿平台
  • 用别人公司域名做网站线下推广的渠道和方法
  • php mysql的网站开发外贸推广平台