ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » MQJMS2002: failed to get message from MQ queue

Post new topic  Reply to topic
 MQJMS2002: failed to get message from MQ queue « View previous topic :: View next topic » 
Author Message
Bravo
PostPosted: Tue Aug 18, 2009 12:54 pm    Post subject: MQJMS2002: failed to get message from MQ queue Reply with quote

Centurion

Joined: 03 Oct 2005
Posts: 146

Hi All,

MQ 5.3 CSD 11 and WAS 6 on same solaris box. This started happening after the code has been deployed in production during the weekend.

We are getting following error,

Code:


[8/17/09 16:13:11:594 PDT] 00000031 XATransaction E   J2CA0027E: An exception occurred while invoking end on an XA Resource Adapter from dataSource JMS$edex_cf$JMSManagedConnection@15736032, within transaction ID {XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),
data(000001232aa25ac70000000100004dfd5936c5bdc59c5e765a1a5da845d79f0b78511a8e00000
1232aa25ac70000000100004dfd5936c5bdc59c5e765a1a5da845d79f0b78511a8e000000010000000000000000000000000001)}:
javax.transaction.xa.XAException: XA operation failed, see errorCode
   at com.ibm.mq.MQXAResource.end(MQXAResource.java:520)
   at com.ibm.ejs.jms.JMSManagedSession$JMSXAResource.end(JMSManagedSession.java:1669)
   at com.ibm.ejs.j2c.XATransactionWrapper.end(XATransactionWrapper.java:525)
   at com.ibm.ws.Transaction.JTA.JTAResourceBase.end(JTAResourceBase.java:236)
   at com.ibm.ws.Transaction.JTA.RegisteredResources.sendEnd(RegisteredResources.java:1341)
   at com.ibm.ws.Transaction.JTA.RegisteredResources.distributeEnd(RegisteredResources.java:1315)
   at com.ibm.ws.Transaction.JTA.TransactionImpl.distributeEnd(TransactionImpl.java:2332)
   at com.ibm.ws.Transaction.JTA.TransactionImpl.prepareResources(TransactionImpl.java:1961)
   at com.ibm.ws.Transaction.JTA.TransactionImpl.stage1CommitProcessing(TransactionImpl.java:1553)
   at com.ibm.ws.Transaction.JTA.TransactionImpl.processCommit(TransactionImpl.java:1509)
   at com.ibm.ws.Transaction.JTA.TransactionImpl.commit(TransactionImpl.java:1444)
   at com.ibm.ws.Transaction.JTA.TranManagerImpl.commit(TranManagerImpl.java:236)
   at com.ibm.ws.Transaction.JTA.TranManagerSet.commit(TranManagerSet.java:157)
   at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:753)
   at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:179)
   at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:579)
   at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3886)
   at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
   at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
   at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:479)
   at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
.
.
.
.

[8/17/09 16:13:11:705 PDT] 0000008e ConnectionEve A   J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource jms/edex_cf.  The exception which was received is javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue

[8/17/09 16:13:16:708 PDT] 0000008e JMSExceptionL E   WMSG0018E: Error on JMSConnection for MDB ProcessChainMdb , JMSDestination jms/process_chain_queue  : javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue

WMSG0057E: Error on JMSConnection for MDB ProcessChainMdb , JMSDestination jms/process_chain_queue , JMS Linked Exception : com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2072



Somehow the message (due to the exceptions) is ending up on the ERROR queue. I can see there are almost 6 IPPROCS with same process id on that queue associated with jms/process_chain_queue.

MQRC 2072 by google search

Quote:
The MQRC_SYNCPOINT_NOT_AVAILABLE error is usually caused by application caching of JMS sessions. Sessions are single threaded contexts. Once a session is initiated, objects created beneath it (queues, senders, receivers, etc) exist with the original thread running through them. We have seen a number of applications that create a number of JMS sessions when an MDB initializes (e.g. the ejbCreate() method calls the QueueConnection.createQueueSession() method), and then uses the sessions as required. We have also seen applications which create connections and sessions on one thread then pass these sessions down to child threads to perform the required actions. However, when either of these designs are used problems can arise. In MDB's, when the onMessage() operation is invoked, the Extended Javaâ„¢ Bean (EJB) container will allocate a thread from a pool. However, there is no guarantee that the thread returned from the pool was the thread used to create the session. This means that a single threaded context could potentially be running with two or more threads (i.e. two instances of the same Message-driven bean using the same session). This leads to unpredictable behavior, such as syncpoints not being available.


Is this a MQ error or its a developer's code causing the issue?. Is applying fix pack will resolve the issue?.

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

Any help will be appreciated.
[edit]edited for readability[/edit]
_________________
Bravo
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Aug 18, 2009 7:37 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Syncpoint not available could also just be because you did run as a client connection without having the etcclient jar on the classpath...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Bravo
PostPosted: Wed Aug 19, 2009 7:37 am    Post subject: Reply with quote

Centurion

Joined: 03 Oct 2005
Posts: 146

Thanks fjb_saper for your response.

Is your suggestion related to WAS configuration or MQ configuration or code changes?.

I do MQ and Broker admininstartion. WAS is not my area, since the application log throws MQ related errors now I'm involved fixing this issue!!!
_________________
Bravo
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Aug 19, 2009 2:44 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Bravo wrote:
Thanks fjb_saper for your response.

Is your suggestion related to WAS configuration or MQ configuration or code changes?.

I do MQ and Broker admininstartion. WAS is not my area, since the application log throws MQ related errors now I'm involved fixing this issue!!!

Make sure they use the default jars from WAS as they are on WAS 6.
This would be in the WAS setup variables... (MQInstallPath etc...).
Verify that the JNDI setup allows for XA connection (checkbox)...

With a little luck this should fix their problem.
Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Java / JMS » MQJMS2002: failed to get message from MQ queue
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.