当连接两个不同的数据库(比如一个是mysql而另一个是oracle)时,如何确保数据库中的事务成功或者没有成功(例如,一个是mysql,另一个是oracle)。
更多信息..
我有一个交易,我将更新两个不同的数据库。因此,我有两个不同的服务和两个不同的DAO。如何确保DB或无成功交易..
由于 阿赫亚
答案 0 :(得分:2)
这称为“两阶段提交”。您需要两个数据库的JTA事务管理器和XA JDBC驱动程序才能使其正常工作。
你的问题中的皱纹是“服务”这个词:如果两个DAO被封装为单独的Web服务,那么JTA就无法工作。然后调用这两个服务的对象将必须管理所有内容。您必须创建补偿交易,跟踪每个呼叫的成功或失败,并做出相应的反应。