Details
-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
JBossAS-3.2.7 Final
-
None
-
None
Description
Based on the document in the wiki
http://wiki.jboss.org/wiki/Wiki.jsp?page=UsingWebSphereMQSeriesWithJBossASPartI
I have created an MDB using Websphere MQ. If I disable XA (using a MQQueueConnectionFactory), the MDB works OK. I can receive and send a JMS text message successfully.
However, if I enable XA support (MQXAQueueConnectionFactory) by setting attribute "IsXA" to true in jboss-service.xml, the messages are never received from the queue. Instead, I keep getting "MQJMS2002: failed to get message from MQ queue", after which the JMS container tries to reconnect to the JMS provider
If I run a unit test against the same JNDI names for the XA queue connection factory, I can send and receive the messages successfully, which strongly suggests that this is a JBoss AS bug.
Stack-trace of
11:31:38,418 INFO [Server] JBoss (MX MicroKernel) [3.2.7 (build: CVSTag=JBoss_3_2_7 date=200501280217)] Started in 42s:781ms
11:32:25,516 WARN [JMSContainerInvoker] JMS provider failure detected:
javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:553)
at com.ibm.mq.jms.MQSession.consume(MQSession.java:3224)
at com.ibm.mq.jms.MQSession.run(MQSession.java:1665)
at org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
at java.lang.Thread.run(Thread.java:568)
11:32:25,596 INFO [JMSContainerInvoker] Trying to reconnect to JMS provider
11:32:47,958 INFO [JMSContainerInvoker] Reconnected to JMS provider
11:32:48,038 WARN [JMSContainerInvoker] JMS provider failure detected:
javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:553)
at com.ibm.mq.jms.MQSession.consume(MQSession.java:3224)
at com.ibm.mq.jms.MQSession.run(MQSession.java:1665)
at org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
at java.lang.Thread.run(Thread.java:568)
11:32:48,048 INFO [JMSContainerInvoker] Trying to reconnect to JMS provider
11:33:06,285 INFO [JMSContainerInvoker] Reconnected to JMS provider
11:33:06,395 WARN [JMSContainerInvoker] JMS provider failure detected:
javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:553)
at com.ibm.mq.jms.MQSession.consume(MQSession.java:3224)
at com.ibm.mq.jms.MQSession.run(MQSession.java:1665)
at org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
at java.lang.Thread.run(Thread.java:568)