Author |
Message
|
Vin |
Posted: Tue May 14, 2002 8:32 pm Post subject: Dead Letter Queue Messages |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
I'm doing Intercommunication between Windows and Solaris machine. The problem is when I'm sending messages from Windows to Solaris all the messages are landing on a Dead Letter Queue. How do I check the reason as to why the messages are landing in there? Is there any specific field I need to check? Thanks guys! |
|
Back to top |
|
 |
amurugan |
Posted: Tue May 14, 2002 9:43 pm Post subject: |
|
|
Voyager
Joined: 10 Sep 2001 Posts: 75 Location: india
|
hi vin ,
before arriving at thye solution, let me know the setup of the mqseries like the definitons of the remote queues and so on please . do you mean to say that you have an mqseries server on windows and one on solaris and you are using Distributed queueing between them . IMHO , if you use Distributed queueing to send messages . have u verified your remote queue definitions , have u started the the channel initiators and listeners .the one reason that the messages are getting into DLQ is beacues they are discarded or exceeded the backout thershold or the queue manager might not be able to put the message in the queue bcos the queue may be full or there wouldnt be any quue of the name
Regards,
murugan |
|
Back to top |
|
 |
mqonnet |
Posted: Wed May 15, 2002 3:30 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
This has been extensively dealt in the below mentioned thread. check it out..
http://www.webmq.com/phpBB2/viewtopic.php?t=2449
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
Vin |
Posted: Wed May 15, 2002 8:14 am Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
Thanks for the reply guys, I did set up my channels and listeners properly. The reason why I say that is b'coz I'm able to send a message from my solaris machine to windows which is on the same intranet. When I'm sending messages back from windows to solaris, they are not being delivered, I printed the message from the Dead Letter Queue and this is what is the output
JMS Message class: jms_bytes
JMSType: null
JMSDeliveryMode: 2
JMSExpiration: 0
JMSPriority: 4
JMSMessageID: ID:414d512070726f736572762e717565750649e13cb2d00100
JMSTimestamp: 1021407352220
JMSCorrelationID:null
JMSDestination: null
JMSReplyTo: null
JMSRedelivered: false
JMSXDeliveryCount:-22927623
JMS_IBM_MsgType:8
JMSXAppID:C:\WINNT\system32\java.exe
JMS_IBM_Format:MQDEAD
JMS_IBM_Encoding:273
JMS_IBM_PutApplType:11
JMS_IBM_Character_Set:ISO8859_1
JMSXUserID:sudhir
JMS_IBM_PutTime:20155222
JMS_IBM_PutDate:20020514
Integer encoding: 1, Floating point encoding 256
444c48200000000100000825414d512e334345303636434530303034393031322020202020202020
20202020202020202020202020202020202020206f6c69766965722e71756575652e6d616e616765
7220202020202020202020202020202020202020202020202020202000000111000003334d514852
463220200000000672756e6d716c73725f6e64202020202020202020202020202020202032303032
3035313431393538323439375246482000000002000000c800000111000004b84d51535452202020
00000000000004b8000000203c6d63643e3c4d73643e6a6d735f746578743c2f4d73643e3c2f6d63
643e20200000007c3c6a6d733e3c4473743e71756575653a2f2f6f6c69766965722e71756575652e
6d616e616765722f414d512e334345303636434530303034393031323f70657273697374656e6365
3d313c2f4473743e3c546d733e313032313430373335323231303c2f546d733e3c446c763e313c2f
446c763e3c2f6a6d733e202041524d53524553504f4e53457c30317c30317c323030323034313
It really does not say anything? Any clues? Thanks. |
|
Back to top |
|
 |
Vin |
Posted: Wed May 15, 2002 8:15 am Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
Sorry forgot to add that I'm using Dynamic Queues to send a reply from windows to Solaris. This dynamic Queue is a Tempoarary Queue created from session.createTemporaryQueue. Thanks. |
|
Back to top |
|
 |
mqonnet |
Posted: Wed May 15, 2002 8:20 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
Check out if the queue you are pointing to on the remote end, exists. If it does, then check out if it has a mixed case name(lower and upper). Because the reason code you are getting here is 2085, unknown object name.
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
Vin |
Posted: Wed May 15, 2002 8:46 am Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
Thanks. Just Curious how did you get the reason code from the message I sent you? Also I'm using Temporary Dynamic Queues for my response. In other words the windows machine puts the response on a temporary Queue which is shipped back to the solaris machine. Do you think that I'm closing this queue prematurely or something like that? although I don't see that hapening in my code? Thanks so much. |
|
Back to top |
|
 |
mqonnet |
Posted: Wed May 15, 2002 10:25 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
You did not mention which DLQ the message is landing on. I would assume it to be on NT. If it is on NT. Check to see if your channel from nt to solaris is up and running. For sanity purposes, if your channel is running, put a message on a remote queue on nt and check to see if it is reaching solaris local queue. If it is, then there is something wrong with the reply to queue name on the message that was put on solaris which landed on NT. Check to see all the names are appropriately used, including the case.
As for how i determined the reason code, please refer to the thread link i posted earlier.
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
Vin |
Posted: Wed May 15, 2002 11:01 am Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
Sorry! I've read the link but not sure about where to get the reason code. Can you point me to where I can find that in the message. Thanks. |
|
Back to top |
|
 |
mqonnet |
Posted: Wed May 15, 2002 11:16 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
You cannot just get the reason code from this link. You need to deduce the reason code out of your message that you posted earlier. You can write a small program to retrieve and display the contents on the DLQ, such as the reason code and other stuff. Or just read the message and analyze it using the method Stefan pointed out on that link. Check out the explaination that stefan gave dated "09 Apr 2002 21:29 ".
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
Vin |
Posted: Wed May 15, 2002 1:24 pm Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
Using JMS how do I print the reason code. All I did in my program was to print the message which I recieved on the dead letter queue. Where do I extract the reason code from. Thanks. |
|
Back to top |
|
 |
mqonnet |
Posted: Wed May 15, 2002 2:32 pm Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
The intricate details are explained in the above thread i have "always" been referring to. So if you want to know more on this you could check it out.
As for how to extract the reason code. From the message you pasted i took the first few digits.
"444c48200000000100000825"
0825 is the reason code in hex. And when it is converted to decimal it gets to 2085.
Hope this helps.
:roll:
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
Vin |
Posted: Thu May 16, 2002 8:36 am Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
I could finally resolve the problem. I put the recieving app name as NON_JMS and was sending responses through a JMS app. When I removed that line from my code everything worked fine. Thanks for all the help guys. |
|
Back to top |
|
 |
amurugan |
Posted: Thu May 16, 2002 4:53 pm Post subject: |
|
|
Voyager
Joined: 10 Sep 2001 Posts: 75 Location: india
|
hi ,
good that you solved the problem . i thnk you must have set the target client as non jms . okay to get the reason code , you can use the jmsexcpetion.getlinked exception . I think that will give you the reason code and comp code .
cheers,
Murugan |
|
Back to top |
|
 |
amurugan |
Posted: Thu May 16, 2002 4:54 pm Post subject: |
|
|
Voyager
Joined: 10 Sep 2001 Posts: 75 Location: india
|
hi ,
good that you solved the problem . i thnk you must have set the target client as non jms . okay to get the reason code , you can use the jmsexcpetion.getlinked exception . I think that will give you the reason code and comp code .
cheers,
Murugan |
|
Back to top |
|
 |
|