|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQSeries remote messages delivered to Dead Letter Queue |
« View previous topic :: View next topic » |
Author |
Message
|
Vin |
Posted: Wed Apr 10, 2002 2:39 pm Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
I'm try to use dynamic queues remotely. I create a dynamic queue using qmgr.accessQueue(...) specifying a model queue. I put the queue name in the message and send it remotely to an other queue manager which extracts the name of the queue and puts the message and delivers back to the first queue manager. The problem is all the messages are landing in the dead letter queue on the recieving side. I looked at the hex dump and here it what it gives me. The Reason Code given is 2087 (Remote Queue Manager not available I guess?)
Here is how I access the queue in my sending queue manager.
//code
String replyToQueue = retrievedMessage.replyToQueueName;
int openQueueOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;
String replyToQueueManagerName = retrievedMessage.replyToQueueManagerName;
MQQueue respQueue = qMgr.accessQueue(replyToQueue, openQueueOptions,"QM1.QUEUE.MANAGER",null,null);
System.out.println("Name of the response Queue is -----> "+respQueue.name);
MQMessage respMessage = new MQMessage();
respMessage.format = MQC.MQFMT_STRING;
respMessage.writeString("Reply from the responder program");
respQueue.put(respMessage,new MQPutMessageOptions());
44 4C 48 20 01 00 00 00 DLH ....
27 08 00 00 53 75 64 68 '...Sudh
69 72 33 43 42 34 42 32 ir3CB4B2
36 34 30 30 30 31 33 30 64000130
31 32 20 20 20 20 20 20 12
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 4D 45 54 52 METR
45 4F 2E 51 55 45 55 45 EO.QUEUE
2E 4D 41 4E 41 47 45 52 .MANAGER
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 11 01 00 00 ....
33 03 00 00 4D 51 53 54 3...MQST
52 20 20 20 0B 00 00 00 R ....
65 73 5C 4D 51 53 65 72 esMQSer
69 65 73 5C 62 69 6E 5C iesbin
72 75 6E 6D 71 6C 73 72 runmqlsr
2E 65 78 65 32 30 30 32 .exe2002
30 34 31 30 32 32 33 37 04102237
34 35 33 31 52 65 70 6C 4531Repl
79 20 66 72 6F 6D 20 74 y from t
68 65 20 72 65 73 70 6F he respo
6E 64 65 72 20 70 72 6F nder pro
67 72 61 6D gram
Any clue as to why me messages are being delivered to the dead letter queue on the recieving side? Thanks to all. |
|
Back to top |
|
 |
Vin |
Posted: Wed Apr 10, 2002 4:41 pm Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
I suspect that when the message is arriving at the destination it comes with a queue manager name of QM1.QUEUE.MANAGER, I think this has to be lower case for it to find the Queue Manager on the local system. Is there a way I can change i t to lower case when I send the message? Thanks, just wanted to share my thoughts. |
|
Back to top |
|
 |
Vin |
Posted: Wed Apr 10, 2002 7:43 pm Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
Guys,
Finally I figured out the problem. The QueueManager name was in upper case on the sending side in the transmission queue and hence was not able to find the queue manager on the recieving side. When we define the transmission queue the remote queue manager name should be enclosed in quotes ' ' so that it appears in lower case. |
|
Back to top |
|
 |
StefanSievert |
Posted: Wed Apr 10, 2002 8:10 pm Post subject: |
|
|
 Partisan
Joined: 28 Oct 2001 Posts: 333 Location: San Francisco
|
Quote: |
On 2002-04-10 20:43, Vin wrote:
Guys,
Finally I figured out the problem. The QueueManager name was in upper case on the sending side in the transmission queue and hence was not able to find the queue manager on the recieving side. When we define the transmission queue the remote queue manager name should be enclosed in quotes ' ' so that it appears in lower case.
|
Vin,
the queue manager that could not be found, was METREO.QUEUE.MANAGER according to your dead letter message and you probably were referring to the remote queue definition that contained the wrong name, not the transmission queue, right!?
(personal opinion) If you want to save yourself a lot of trouble, I would make it a naming standard to only use upper case names for MQ objects. (end personal opinion)
Cheers,
Stefan
_________________ Stefan Sievert
IBM Certified * WebSphere MQ |
|
Back to top |
|
 |
Vin |
Posted: Thu Apr 11, 2002 11:18 am Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
Stefan,
Actually not. I did not change the name in the example code which i put in there. I did define the queue Managers allright but the transmission queue had the queue manager name in upper case and that's when the problem creeped in. I put a quote around and retried and it works fine. I think I should follow a standard of uppercase versus not upper case. Thanks for the suggestiom
|
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|