Spring 分布式事务实现

本文讨论了在Java开发中,如何处理多数据源的事务同步,特别是涉及MQ的消息处理和DB事务的交互,包括XA与JTA的区别,最大努力一次提交策略以及在面试中Java中高级技术的要点。提供了一份全面的学习资料,涵盖了消息队列、缓存、分布式系统等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

消息放回至MQ队列,重试重新触发该方法

当这一步出现错误时,上面的因为已经commit,所以不会rollback

1 多数据源的事务同步解决方案

==============================================================================

1.1 XA与最后资源博弈


1.start MQ transaction

2.receive message

针对 DB 使用 JTA 事务

3.start JTA transaction on DB

4.update DB

DB 一阶段提交

5.phase-1 commit on DB transaction

当该步出错时,由于DB 还在XA的第一次提交预备状态,DB 还是可以回滚

6.commit MQ transaction

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值