2008-09-25 57 views
1

我在写一个不支持两阶段提交的资源适配器。 我知道有一种称为“最后资源优化”的优化技术。上次资源优化

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

我的问题是:如何在WebLogic中,WebSpehre,Glassfish的,等来完成...

回答

6

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

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

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