Author |
Message
|
fredand44 |
Posted: Mon Apr 14, 2008 5:26 am Post subject: Is there any url that list and explains all error codes? |
|
|
Acolyte
Joined: 14 Feb 2006 Posts: 63
|
Hello guys!
I have a testcase that sends a lot of messages to MQ. During the end of the test I receive a MQJMS2007 for some messages.
javax.jms.JMSException: MQJMS2007: failed to send message to MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(Ljava/lang/String;)Ljavax/jms/JMSException;(ConfigEnvironment.java:567)
at com.ibm.mq.jms.MQMessageProducer.sendInternal(Lcom/ibm/mq/jms/MQQueue;Lcom/ibm/mq/MQQueue;Ljavax/jms/Message;IIJ)V(MQMessageProducer.java:1738)
at com.ibm.mq.jms.MQMessageProducer.send(Ljavax/jms/Message;IIJ)V(MQMessageProducer.java:1056)
at com.ibm.mq.jms.MQMessageProducer.send(Ljavax/jms/Message;)V(MQMessageProducer.java:1108)
But I can not find any explanation for this error code o the net.
I wonder if any one know any url on the net that list and explains all error codes.
So if any one got any explanation for 2007 or any url, please let me know!
Best regards
Fredrik |
|
Back to top |
|
 |
Vitor |
Posted: Mon Apr 14, 2008 5:33 am Post subject: Re: Is there any url that list and explains all error codes? |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
fredand44 wrote: |
But I can not find any explanation for this error code o the net.
I wonder if any one know any url on the net that list and explains all error codes. |
This is a JMS error and is a bit generic; if you look up the JMS standard (Mr Google will help with that) then it will give you something like "The JMS provided an error state".
What you should do is code your JMS application to display the linked exception that accompanies this message. This will contain the MQ reason code and this can be looked up in the usual IBM docs. A search on the forum for "linked exception" will provide further details and some example code snippets.
FWIW the only time I've seen a 2007 was when the message was bigger than the queue's max length, but you need the linked exception. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kevinQ |
Posted: Mon Apr 14, 2008 5:39 am Post subject: |
|
|
Novice
Joined: 09 Apr 2008 Posts: 21
|
First get the related exception to see what's the MQ error:
}catch (JMSException e){
Exception myex = e.getLinkedException();
myex.printStackTrace();
}
This should give you the actual MQ error code, something like 2030, 2058, 2085 ...
Then go to the appendix of the <websphere MQ application programming reference> for explanation of all the MQ error codes.
http://www-306.ibm.com/software/integration/wmq/library/ |
|
Back to top |
|
 |
fredand44 |
Posted: Tue Apr 15, 2008 12:02 am Post subject: Aha!! |
|
|
Acolyte
Joined: 14 Feb 2006 Posts: 63
|
Hello guys!
Thanks for your great idea:
The "getLinkedException" gave me:
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2003
at com.ibm.mq.MQQueue.putMsg2(MQQueue.java:1364)
But I must say taht it is really hard to find anything in the docs regarding MQJMS2007 together with "Reason 2003".
If you got any explanation for this please let me know!
Best regards
Fredrik |
|
Back to top |
|
 |
Vitor |
Posted: Tue Apr 15, 2008 12:22 am Post subject: Re: Aha!! |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
fredand44 wrote: |
But I must say taht it is really hard to find anything in the docs regarding MQJMS2007 together with "Reason 2003".
|
Why are you trying to look for both codes? The JMS error just tells you the JMS provider (in this case WMQ) has returned an error. This is why you need the linked exception with the MQ reason code. 5 seconds of effort found me this:
Quote: |
RC2003(2003)
Explanation:
The current unit of work encountered a fatal error or was backed out. This occurs in the following cases:
On an MQCMIT or MQDISC call, when the commit operation has failed and the unit of work has been backed out. All resources that participated in the unit of work have been returned to their state at the start of the unit of work. The MQCMIT or MQDISC call completes with CCWARN in this case.
On an MQGET, MQPUT, or MQPUT1 call that is operating within a unit of work, when the unit of work has already encountered an error that prevents the unit of work being committed (for example, when the log space is exhausted). The application must issue the appropriate call to back out the unit of work. (For a unit of work coordinated by the queue manager, this call is the MQBACK call, although the MQCMIT call has the same effect in these circumstances.) The MQGET, MQPUT, or MQPUT1 call completes with CCFAIL in this case.
Completion Code:
CCWARN or CCFAIL
Programmer Response:
Check the returns from previous calls to the queue manager. For example, a previous MQPUT call may have failed.
|
From your description I'd say you're running out of log space & need to look into your unit of work boundaries. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fredand44 |
Posted: Tue Apr 15, 2008 12:56 am Post subject: Thanks! |
|
|
Acolyte
Joined: 14 Feb 2006 Posts: 63
|
Hello!
Thanks for your input!
Did you by any chance found the desc. for 2003 on the net?If yes, could you give me the url?
Thanks a lot in advance!
Fredrik |
|
Back to top |
|
 |
Vitor |
Posted: Tue Apr 15, 2008 1:19 am Post subject: Re: Thanks! |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
fredand44 wrote: |
Did you by any chance found the desc. for 2003 on the net?If yes, could you give me the url?
|
It's the description from the WMQv6 infocentre provided by IBM.
You'll find a link at the top of this page. That's why it only took me 5 seconds to find it....
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kevinQ |
Posted: Tue Apr 15, 2008 6:07 am Post subject: |
|
|
Novice
Joined: 09 Apr 2008 Posts: 21
|
I actually added the link to the MQ library to the end of my post, and told you to "go to the appendix of the <websphere MQ application programming reference> for explanation of all the MQ error codes" ...
Could it be that, there was never a "comit" in your test, but you were using a transacted session?? |
|
Back to top |
|
 |
Vitor |
Posted: Tue Apr 15, 2008 6:23 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kevinQ wrote: |
I actually added the link to the MQ library to the end of my post, and told you to "go to the appendix of the <websphere MQ application programming reference> for explanation of all the MQ error codes" ... |
You did, but it didn't seem to help, hence my comment.
kevinQ wrote: |
Could it be that, there was never a "comit" in your test, but you were using a transacted session?? |
I'd say so, unless it's a ridiculously small log. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|