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