[mule-user] I see dead letter queue (JMS)

5 views
Skip to first unread message

nox list

unread,
Apr 28, 2010, 1:05:52 AM4/28/10
to us...@mule.codehaus.org
Hi All,

Getting this weird exceptions on our JMS endpoint.Wondering why its trying to write to the dead letter quee.

2010-04-28 12:39:59,375 (org.mule.transport.AbstractConnectable:226) 161078796 INFO - Disconnected: MultiConsumerJmsMessageReceiver{this=53aa53aa, receiverKey=MuleService~RQSTIN, endpoint=jms://RQSTIN}
2010-04-28 12:39:59,388 (org.mule.transport.AbstractConnector:460) 161078809 INFO - Stopping: JmsConnector{this=70ba70ba, started=true, initialised=true, name='jmsConnectorWMQ', disposed=false, numberOfConcurrentTransactedReceivers=10, createMultipleTransactedReceivers=true, connected=false, supportedProtocols=[jms], serviceOverrides={inbound.transformer=Jms2Obj}}
2010-04-28 12:39:59,388 (org.mule.transport.AbstractConnector:507) 161078809 INFO - Stopped: JmsConnector{this=70ba70ba, started=false, initialised=true, name='jmsConnectorWMQ', disposed=false, numberOfConcurrentTransactedReceivers=10, createMultipleTransactedReceivers=true, connected=false, supportedProtocols=[jms], serviceOverrides={inbound.transformer=Jms2Obj}}
2010-04-28 12:39:59,388 (org.mule.transport.AbstractConnector:1563) 161078809 INFO - Disconnected: JmsConnector{this=70ba70ba, started=false, initialised=true, name='jmsConnectorWMQ', disposed=false, numberOfConcurrentTransactedReceivers=10, createMultipleTransactedReceivers=true, connected=false, supportedProtocols=[jms], serviceOverrides={inbound.transformer=Jms2Obj}}
2010-04-28 12:39:59,389 (org.mule.AbstractExceptionListener:393) 161078810 ERROR -
********************************************************************************
Message : Initialisation Failure: MQJMS1079: Unable to write message to dead letter queue
Type : org.mule.transport.ConnectException
Code : MULE_ERROR-84
Object : JmsConnector{this=70ba70ba, started=true, initialised=true, name='jmsConnectorWMQ', disposed=false, numberOfConcurrentTransactedReceivers=10, createMultipleTransactedReceivers=true, connected=true, supportedProtocols=[jms], serviceOverrides={inbound.transformer=Jms2Obj}}
JMS Code : MQJMS1079
JavaDoc : http://www.mulesource.org/docs/site/current2/apidocs/org/mule/transport/ConnectException.html
********************************************************************************
Exception stack is:
1. MQJE001: Completion Code 2, Reason 2035 (com.ibm.mq.MQException)
com.ibm.mq.MQQueueManager:2857 (null)
2. MQJMS1079: Unable to write message to dead letter queue(JMS Code: MQJMS1079) (javax.jms.JMSException)
com.ibm.mq.jms.services.ConfigEnvironment:567 (http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/jms/JMSException.html)
3. Initialisation Failure: MQJMS1079: Unable to write message to dead letter queue (org.mule.transport.ConnectException)
org.mule.transport.jms.JmsConnector:454 (http://www.mulesource.org/docs/site/current2/apidocs/org/mule/transport/ConnectException.html)
********************************************************************************
Root Exception stack trace:
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2035
at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:2857)
at com.ibm.mq.jms.MQMessageConsumer.deadLetter(MQMessageConsumer.java:4108)
at com.ibm.mq.jms.MQMessageConsumer.removeBadMessage(MQMessageConsumer.java:4442)
at com.ibm.mq.jms.MQMessageConsumer.getMessage(MQMessageConsumer.java:3294)
at com.ibm.mq.jms.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:2781)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:406)
at java.lang.Thread.run(Thread.java:810)

********************************************************************************

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


--
You received this message because you are subscribed to the Google Groups "mule-user" group.
To post to this group, send email to mule...@googlegroups.com.
To unsubscribe from this group, send email to mule-user+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/mule-user?hl=en.

Magnus Larsson

unread,
Apr 28, 2010, 1:21:16 AM4/28/10
to us...@mule.codehaus.org
This seems to be a IBM WebSphere MQ related error so I guess the best support is found in a WebSphere MQ related forum such as http://www.mqseries.net/phpBB2/index.php

However :-)

... from my understanding the root cause seems to be
"1. MQJE001: Completion Code 2, Reason 2035 (com.ibm.mq.MQException)"

and a quick call to mqrc 2035 results in:
      2035  0x000007f3  MQRC_NOT_AUTHORIZED

so to me it seems that you don't have access to the deadleter queue?
Check with you wmq administrator if you are not familiar with wmq security on channels et al.

Hope this helps!

Regards,
Magnus.
--
Magnus Larsson

Callista Enterprise AB
Mobile: +46 (0)733-51 91 72
mailto:magnus....@callistaenterprise.se
http://www.callistaenterprise.se

nox list

unread,
Apr 28, 2010, 1:44:04 AM4/28/10
to us...@mule.codehaus.org
Thanks Magnus.

What am trying to figure out is why the connector is trying to connect to the dead letter queue?

Magnus Larsson

unread,
Apr 28, 2010, 2:47:38 AM4/28/10
to us...@mule.codehaus.org
Hello again!

Ok, I see :-)

From the stacks trace I draw the conclusion that WMQ seems to be pretty convinced that is has received a bad message and tries to place it on its dead letter queue:


com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2035
 at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:2857)
 at com.ibm.mq.jms.MQMessageConsumer.deadLetter(MQMessageConsumer.java:4108)
 at com.ibm.mq.jms.MQMessageConsumer.removeBadMessage(MQMessageConsumer.java:4442)
 at com.ibm.mq.jms.MQMessageConsumer.getMessage(MQMessageConsumer.java:3294)
 at com.ibm.mq.jms.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:2781)

If you don't have any more error information I would suggest the following (that is at least what I usually tries in cases like this :-):
1. Turn on debug-logging on the JMS Transport to see if you can get any more hints on what goes wrong?
2. Write a simple standard JMS receiver that reads the message from the WMQ queue to see if you can learn anything from that (same problem hopefully occurs but with much less infrastructure in place making it easier to isolate the problem)?


Regards,
Magnus.
--
Magnus Larsson

Callista Enterprise AB
Mobile: +46 (0)733-51 91 72
mailto:magnus....@callistaenterprise.se
http://www.callistaenterprise.se


nox list

unread,
Apr 28, 2010, 3:15:57 AM4/28/10
to us...@mule.codehaus.org
Magnus,

Thanks for the suggestions. Already using a connector exception to print out this error.

Will try your option 2.

Cheers!

Nox

Andrew Perepelytsya

unread,
Apr 28, 2010, 12:22:28 PM4/28/10
to us...@mule.codehaus.org

Most probably there's a message in the queue which has a number redelivery attempts higher than max allowed by your admin. In this case it'll try to move it dlq on the first receive.

HTH,
Andrew

On Apr 28, 2010 3:16 AM, "nox list" <mule.us...@mulesource.com> wrote:

Magnus,

Thanks for the suggestions. Already using a connector exception to print out this error.

Will try your option 2.

Cheers!

Nox


---------------------------------------------------------------------
To unsubscribe from this list...

Reply all
Reply to author
Forward
0 new messages