首页   注册   登录

sun1993

V2EX 第 131512 号会员,加入于 2015-08-07 13:07:03 +08:00
sun1993 最近回复了
别问,问就是 java (#滑稽)
26 天前
回复了 dackh 创建的主题 程序员 Spring 多数据源事务问题
@dackh 嗯,currentProxy 是可以处理 aop 问题的(后来审题发现你已经说明 updateA 和 updateB 不同类了,我审题有问题,(。・_・。)ノ I’m sorry~),针对你给出的条件,我上面的回答也指出了,俩都是可以回滚的,确实是没问题的,不过涉及分布式事务的话,还是利用现有的技术实际解决下吧,q4487979711 提到的 atomikos 是 XA 协议的一种实现,就是你说的两段式提交,可以从根本上解决异源数据库的事务问题
27 天前
回复了 dackh 创建的主题 程序员 Spring 多数据源事务问题
首先 spring 是基于 aop 做的事务管理,也就是说 updateB 如果跟 updateA 在同一个类里,那么 updateB 出现异常的话,updateB 是不会回滚的,因为 updateB 是本类调用,无法 aop 代理,但是 updateA 里捕获到了 updateB 的异常,所以 updateA 的 a,b,c 操作是可以顺利回滚的。
如果 updateA 和 updateB 处于不同类,那么 updateB 异常,updateA 和 updateB 都会回滚。
但上面只是针对你这个例子,这种到底还是分布式事务,所以还是存在下面的问题:
如果 updateA 在调用 updateB 之后下面还有别的操作导致 updateA 异常了,那么 updateB 是不会回滚的,但是 updateA 会回滚。
事务的回滚和提交都是基于同一个连接对象的,多数据源意味着有多个连接对象,这就是典型的分布式事务,这种事务问题最好借助 XA 协议来完成( XA 有一定的性能问题,如果 qps 不高的话可以考虑,使用起来非常简单)。
@des 卧槽,牛逼(看我头像)
188 天前
回复了 RayFang 创建的主题 问与答 请各位站友看看我的视频,为啥火不起来?
娱乐至死的时代,谁还关注这个(#滑稽)
188 天前
回复了 xcodebuild 创建的主题 程序员 2019 年了 技术人为什么还要写博客
@xcodebuild 噫? web 端是好的
188 天前
回复了 xcodebuild 创建的主题 程序员 2019 年了 技术人为什么还要写博客
@xcodebuild 微博上的外链,有的时候会加载不出来
188 天前
回复了 xcodebuild 创建的主题 程序员 2019 年了 技术人为什么还要写博客
主要是记录,方便日后查找,最后赞一下博客园的样式定制功能: https://www.cnblogs.com/hama1993/
195 天前
回复了 ntuwang 创建的主题 武汉 五一回武汉,就看了一天房子,就订了一套
公寓??为啥不直接落户武汉买住宅?
210 天前
回复了 yagnqionggo 创建的主题 杭州 杭州互联网公司分布挺分散的
杭州落户后可以不计社保买房吗?
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4134 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 11ms · UTC 08:28 · PVG 16:28 · LAX 00:28 · JFK 03:28
♥ Do have faith in what you're doing.