2008-09-25 62 views
1

我在寫一個不支持兩階段提交的資源適配器。 我知道有一種稱爲「最後資源優化」的優化技術。上次資源優化

在JBoss上,您的XAResource類應該實現LastResource以進行優化。

我的問題是:如何在WebLogic中,WebSpehre,Glassfish的,等來完成...

回答

6

的Weblogic:AFAIK(可能是非常錯誤的)只有JDBC驅動程序可以與LRO使用,並且它的一個純粹的管理任務。當驅動程序不支持XA時,可將其配置爲與LRO一起使用:「如果要啓用來自數據源的非XA JDBC連接以使用JTA模擬參與全局事務,請選擇此選項」

本質上,LRO容忍一個沒有準備階段的資源,只能提交或回滾。因此,如果在XA事務中只有一個這樣的資源存在,我們可能會首先嚐試準備其他所有其他資源,然後將該LRO提交一個,如果成功,則提交其他資源,否則回滾其他資源。

你看,沒有什麼特別需要聲明任何接口。這是一種可以與任何非XA資源一起使用的算法。我不確定JBoss爲什麼擁有它,但我不希望其他服務器有類似的東西。