2016-08-11 71 views
0

我正在使用帶有JCA資源適配器和MDB的JBOSS EAP 6.4的IBM MQ v7.5。 MQ服務器正在HP NonStop Integrity Server v5.3.1.12中運行帶有JAS資源適配器和MDB的JBOSS EAP 6.4的IBM MQ v7.5引發'xa_open'失敗,錯誤碼爲'-3'

該應用程序運行正常。但我在我的日誌中看到以下例外

[com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMFAIL: javax.transaction.xa.XAException 
     at com.ibm.mq.connector.RecoveryXAResource.checkExceptions(RecoveryXAResource.java:147) 
     at com.ibm.mq.connector.RecoveryXAResource.recover(RecoveryXAResource.java:514) 
     at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.recover(XAResourceWrapperImpl.java:185) 
     at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoveryFirstPass(XARecoveryModule.java:541) [jbossjts-jacorb-4.17.29.Final-redhat-1.jar:4.17.29.Final-redhat-1] 
     at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:181) [jbossjts-jacorb-4.17.29.Final-redhat-1.jar:4.17.29.Final-redhat-1] 
     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:747) [jbossjts-jacorb-4.17.29.Final-redhat-1.jar:4.17.29.Final-redhat-1] 
     at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:375) [jbossjts-jacorb-4.17.29.Final-redhat-1.jar:4.17.29.Final-redhat-1] Caused by: com.ibm.msg.client.wmq.v6.jms.internal.ConfigEnvironment$1: MQJMS1068: failed to obtain XAResource. 
     at com.ibm.msg.client.wmq.v6.jms.internal.ConfigEnvironment.newException(ConfigEnvironment.java:379) 
     at com.ibm.msg.client.wmq.v6.jms.internal.MQXAConnection.createXASession(MQXAConnection.java:155) 
     at com.ibm.msg.client.jms.internal.JmsXAConnectionImpl.createXASession(JmsXAConnectionImpl.java:125) 
     at com.ibm.mq.jms.MQXAConnection.createXASession(MQXAConnection.java:88) 
     at com.ibm.mq.connector.RecoveryXAResource.recover(RecoveryXAResource.java:490) 
     ... 5 more Caused by: javax.transaction.xa.XAException: The method 'xa_open' has failed with errorCode '-3'. 
     at com.ibm.mq.jmqi.JmqiXAResource.<init>(JmqiXAResource.java:274) 
     at com.ibm.mq.jmqi.JmqiXAResource.getInstance(JmqiXAResource.java:122) 
     at com.ibm.mq.jmqi.JmqiEnvironment.newJmqiXAResource(JmqiEnvironment.java:1598) 
     at com.ibm.msg.client.wmq.v6.base.internal.MQXAQueueManager.getXAResource(MQXAQueueManager.java:175) 
     at com.ibm.msg.client.wmq.v6.jms.internal.MQXAConnection.createXASession(MQXAConnection.java:134) 
     ... 8 more 

任何人都可以幫助我理解爲什麼會發生這種情況嗎?

此外,即使我停止了我的服務器,與MQ服務器的連接也沒有中止。它仍然是一個孤兒。它是否與此異常有關?

我使用NoTransaction資源適配器配置在standalone.xml

回答

-1

這是一個已知的問題。 IBM已經發布了修復軟件包來解決這個問題。請參閱:

http://www-01.ibm.com/support/docview.wss?uid=swg1IC97579

IBM MQ版本7.5.0.4及更高版本此修復程序。

而且,是的,您的孤兒連接是這個問題的結果。

+0

感謝您的回覆。我之前看過這篇文章。但我正在使用Implementation-Version:7.5.0.6-p750-006-160226。而我仍然得到這個錯誤。該帖子說,errorCode:-5,我得到錯誤代碼:-3。任何想法爲什麼這個錯誤即將到來? –

+0

與APAR的錯誤描述不匹配,因此不匹配 –

0

XA錯誤代碼-3是XAER_RMERR - 這意味着資源管理器出現問題,在這種情況下是MQ。

你看過隊列管理器的錯誤日誌嗎?

+0

Hi Tim,隊列管理器的錯誤日誌出現「協議錯誤發生」錯誤。 –

+0

這可能是一個缺陷。我將與IBM開設PMR以確定失敗的原因。 –

+0

我做到了。 Hp NonStop MQ服務器不支持XA連接。雖然我不打開任何XA連接,但JBOSS TS經理(arjuna)正在這樣做。所以,我停止了JBOSS中的XA恢復。現在我沒有收到錯誤。但還沒有得到根本原因。 –

0

我錯過了這個問題中的一個重要觀點(由於缺乏IBM MQ的知識)。也就是說,我的MQ服務器正在HP NonStop Integrity Server中運行。這些服務器不支持XA連接。因此,這個錯誤。

現在,問題是如何阻止它。

我已經停止了週期性復甦JBOSS具有以下屬性:

NAME = 「RecoveryEnvironmentBean.periodicRecoveryPeriod」 值= 「0」 NAME = 「RecoveryEnvironmentBean.recoveryBackoffPeriod」 值= 「0」

+0

如有必要請修改您的原始問題,但不要在此發佈答案。 – tfv

+0

謝謝。將編輯原始問題。但這是一個答案。如果你能找到更好的答案,請發帖(你可能不會)。如果您不知道答案或背景,請不要降級。 @tvf –

相關問題