跨两个EJB服务器的分布式事务

时间:2011-06-04 08:32:59

标签: transactions ejb jta distributed-transactions 2phase-commit

我正在阅读一篇关于EJB服务器中的2-PC和分布式事务的文章。它说:

  

2-PC允许跨不同服务器管理交易       资源(例如,数据库和JMS提供者)。 2-PC的细节超出了       本书的范围,但支持它的系统不需要任何额外的操作       由EJB或应用程序开发人员提供。

     

除了在自己的环境中管理事务之外,EJB服务器还可以进行协调       与其他交易系统。例如,如果EJB实际上来自a       不同的应用服务器比BankEJB,两个应用服务器       合作将交易作为一个工作单位进行管理。

如果我在两台app-server上运行两个不同的Enterprize应用程序(A和B),它们托管在两台不同的计算机上。我正在使用的应用程序服务器将是WebLogic和Oracle AS。 2 PC /分布式事务是否有可能在两台服务器之间协调事务(即使它们来自不同的供应商)?让我知道,如果我的问题不明确。

1 个答案:

答案 0 :(得分:2)

理论上,EJB规范要求EJB容器使用OTS实现事务互操作性或抛出异常。

实际上,WebLogic似乎确实实现了事务互操作性:

http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jta/trxsvc.html#wp1056344

......但OC4J没有:

http://download.oracle.com/docs/cd/B12314_01/web.904/b10326/interop.htm