1

我正在编写一个不支持两阶段提交的资源适配器。我知道有一种优化技术叫做:“最后的资源优化”。

在 JBoss 上,您的 XAResource 类应该实现 LastResource 以便进行优化。

我的问题是:如何在 WebLogic、WebSpehre、Glassfish 等中做到这一点......

4

1 回答 1

6

Weblogic:AFAIK(可能是非常错误的)只有 JDBC 驱动程序可以与 LRO 一起使用,这纯粹是一项管理任务。当驱动程序不支持 XA 时,可以将其配置为与 LRO 一起使用:“如果要启用来自数据源的非 XA JDBC 连接以模拟使用 JTA 参与全局事务,请选择此选项”

本质上,LRO 容忍没有准备阶段的资源,并且只能提交或回滚。因此,如果 XA 事务中只有一个这样的资源,我们可能首先尝试准备所有其他资源,然后提交该 LRO 一个,然后,如果成功,则提交其他资源,否则回滚其他资源。

你看,声明任何接口都没有特殊需要。这是一种可以与任何非 XA 资源一起使用的算法。我不确定为什么 JBoss 有它,但我不希望其他服务器有类似的东西。

于 2008-09-25T15:53:11.113 回答