首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

多数据源分布式事务是怎么实现的

2013-10-29 
多数据源分布式事务是如何实现的?比如有两个数据库分别为mysql和oracle,如果一个业务同时要更新两个数据库

多数据源分布式事务是如何实现的?
比如有两个数据库分别为mysql和oracle,如果一个业务同时要更新两个数据库的数据,能做到在一个事务里要么都修改要么都不修改吗?假设mysql的commit成功,oracle的由于数据内部约束等原因commit失败,mysql的还能再回滚吗?JTA是如何实现的? 分布式 事务
[解决办法]
可以,用spring去代理,一个抛异常全部回滚。。
至于两个对数据库的操作写在dao层,
回滚检测写在service层
[解决办法]
理论上我觉得可以,实际中怎么样,我没试过。
不过,两种不同的数据库,我觉得这么做还是不太靠谱。
[解决办法]
当然没问题的,要不然,JTA事务用来干嘛呢,
ORACLE ,MYSQL ,SQL SERVER ,三种都行,不过是用ejb的。
spring没试过
[解决办法]

引用:
是需要底层资源支持的,二阶段提交与xa,javax包下有相关接口(java.sql.XADataSource),这篇文章介绍比较详细 http://www.infoq.com/cn/articles/xa-transactions-handle

你自问自答啊。呵呵

热点排行