【问题标题】:XA transaction for two phase commit两阶段提交的 XA 事务
【发布时间】:2014-03-16 06:59:25
【问题描述】:

你好,

如果事务中涉及两个资源,则 XA 事务 应在 weblogic 服务器中启用设置。然后是 xa 驱动程序 必须选择。有没有另一种方法来拥有这两个 未启用 XA 事务的事务中的资源

【问题讨论】:

    标签: java distributed-transactions


    【解决方案1】:

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

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

    来自官方文档:

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

    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 选项,但如果您使用旧版数据库并且没有表创建授权,您应该使用两阶段提交模拟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-12
      • 2018-08-15
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 2011-11-24
      • 2013-05-21
      相关资源
      最近更新 更多