2012-05-02 35 views
5

我試圖在MQ和Oracle 11g之間使用Websphere MQ(不包括WAS)作爲我的Java應用程序的XA事務協調器。使用websphere MQ作爲XA事務協調器

可能嗎?這是一個好習慣嗎?

我已經安裝在我的Windows的MQ V7.0.1服務器(64位WIN7),並適當配置XA資源管理。然而,當我簡單的java代碼啓動一個事務並將其中止時,只有隊列中的消息可以回滾,但數據庫操作不能回滾。我期望他們兩個可以一起回滾。我的簡單java代碼如下
QueueManager qmgr = new QueueManager(QM_NAME,properties);
.....
JdbcConnection康恩= qmgr.getJdbcConnection(xads);
qmgr.begin();
//執行DB操作並將消息放入隊列
qmgr.backout();
conn.close();

但是隻有「放消息」可以回滾,而DB操作不了。

我爲MQ一個新手,你有什麼想法來解決這個問題?任何輸入都非常感謝!

+0

問題已解決,我的失敗是因爲沒有安裝'客戶端擴展交易支持' – Philip

+0

其中,截至4月29日,現在是免費的!很高興你解決了。 –

回答

3

Detailed System Requirements頁面說這是支持的,但有些組合需要安裝Fix Pack 7.0.1.2或7.0.1.3才能正常工作。有關詳細信息,請參閱標題爲的資源管理器(當MQ是事務管理器時)的部分。

補丁包可以下載from here
用於啓用XA is here的文檔。

+0

謝謝Rob。但是即使使用MQ V7.1,問題仍然存在。而且我也在遵循IBM信息中心的指示。一切看起來不錯,因爲沒有任何錯誤日誌輸出,但XA事務不起作用。 – Philip

+0

聽起來像是時候打開PMR了。如果按照「信息中心」中的說明配置XA,並按照「系統要求」頁面滿足其他先決條件,那麼最好是讓IBM支持人員詳細介紹配置,以便與所需的配置保持一致。 –

+0

是的,我想我必須求助於IBM。 – Philip