两阶段提交的XA事务

时间:2014-02-17 05:19:16

标签: java distributed-transactions

  

     

如果事务中涉及两个资源,那么XA转换   应该在weblogic服务器中启用该设置。然后是xa驱动程序   必须选择。有另一种方法可以让这两个   没有启用XA事务的事务中的资源

1 个答案:

答案 0 :(得分:0)

是的,您可以使用全局事务模拟。 WebLogic有两种模式:

  • 记录上一个资源 - WebLogic在所有数据源中创建一个表,并将事务数据写入此表。这是一个偏好选项。

来自官方文件:

  

使用此选项,使用连接的事务分支将作为事务中的>最后一个资源进行处理,并作为本地事务处理。 >两阶段提交(2PC)事务的提交记录被插入资源本身的表中,>结果确定全局事务的准备阶段的成功或失败。 >与Emulate Two-Phase> Commit相比,此选项提供了一些性能优势和更高的数据安全性,但它有一些限制。

请参阅http://docs.oracle.com/cd/E15051_01/wls/docs103/jta/llr.html

  • 模拟两阶段提交 - 事务分支在准备阶段时始终返回“SUCCESS”。如果您的应用可以容忍启发式条件,请选择此选项。

有关详细信息,请参阅http://docs.oracle.com/cd/E23943_01/web.1111/e13737/transactions.htm

我更喜欢LLR选项,但如果您使用旧版数据库并且没有表创建授权,则应使用两阶段提交模拟。