Java-多数据源分布式事务是如何实现的?
比如有两个数据库分别为mysql和oracle,如果一个业务同时要更新两个数据库的数据,能做到在一个事务里要么都修改要么都不修改吗?假设mysql的commit成功,oracle的由于数据内部约束等原因commit失败,mysql的还能再回滚吗?JTA是如何实现的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
需要底层资源支持,关于二阶段提交和xa,infoq上文章介绍比较详细http://www.infoq.com/cn/articles/xa-transactions-handle
二阶段提交.
http://zh.wikipedia.org/wiki/%E4%BA%8C%E9%98%B6%E6%AE%B5%E6%8F%90%E4%BA%A4
数据库里一般叫xa. mysql是支持的:
http://dev.mysql.com/doc/refman/5.0/en/xa.html