|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
DEAD LETTER QUEUES |
« View previous topic :: View next topic » |
Author |
Message
|
sevenfan |
Posted: Fri Aug 01, 2003 11:17 am Post subject: DEAD LETTER QUEUES |
|
|
Apprentice
Joined: 22 May 2003 Posts: 42
|
I have questions about dead letter queues. The documentation says that if a message is undeliverable it will end up in a queue manager's dead letter queue, provided one exists.
Under what circumstances would that occur?
If a message does go to a dead letter queue, is it possible to retrieve it and move it to another queue? I am assuming that the reason why this would happen is because my remote queue manager is down or something like that.
Finally, is it possible to trigger an event or program in the event that a message gets into dead letter queue - such as an error message or alert notification?
Thanks. |
|
Back to top |
|
 |
neeff |
Posted: Fri Aug 01, 2003 11:39 am Post subject: |
|
|
Novice
Joined: 06 Apr 2003 Posts: 11 Location: Munich and Ludwigsburg, Germany
|
Hi,
to give you some ideas: messages can end up in the dead letter queue for example if
* a message is received from another queue manager and the queue to which it should be saved does not exist.
* errors during firing a trigger occur (e.g., the application cannot be started - you'll find then the trigger message in the dead letter queue)
A message will NOT be placed in the dead letter queue if a remote queue manager is not available. In that case messages will stay in the transmission queue until the remote qmgr is back at work.
To process messages from the dead letter queue or delete them, use the dead letter queue handler (see the documentation for details).
About your last question: I am not sure if you can trigger a dead letter queue. I would recommend to set up a monitoring with your fafourite monitoring solution (e.g. BMC patrol or something like that).
Best regards, Thomas _________________ Thomas Neeff
Certified IBM System Administrator - WebSphere MQ, V5.3
Germany |
|
Back to top |
|
 |
Leafar |
Posted: Fri Aug 01, 2003 12:09 pm Post subject: |
|
|
 Acolyte
Joined: 03 Apr 2003 Posts: 74 Location: Buenos Aires
|
to move messages from the dead.letter.queue you can use the runmqdlq commando
i.e.
create the file "dlq.rules"
inputq ('SYSTEM.DEAD.LETTER.QUEUE')
inputqm('YOUR_QM') +
action(fwd) fwdq('YOUR-DEST-QUEUE') +
heade(yes)
and then run
runmqdlq < dlq.rules
And this will move all the messages arrived and arriving from the dead.letter.queue to another queue.
Also you can ask for the reason what the messages are arriving to the SDLQ using
Saludos
Rafael |
|
Back to top |
|
 |
PeterPotkay |
Posted: Fri Aug 01, 2003 7:16 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
You can trigger a DLQ.
Messages will not go to the DLQ if the application that put the original message can be notified synchronously of the problem by means of the reason code returned by the MQPUT or MQPUT1 call.
Here are some of the more common reasons for messages ending up in a DLQ:
MQRC_PUT_INHIBITED
(2051, X'803') Put calls inhibited for the queue.
MQRC_Q_FULL
(2053, X'805') Queue already contains maximum number of messages.
MQRC_NOT_AUTHORIZED
(2035, X'7F3') Not authorized for access.
MQRC_Q_SPACE_NOT_AVAILABLE
(2056, X'808') No space available on disk for queue.
MQRC_PERSISTENT_NOT_ALLOWED
(2048, X'800') Queue does not support persistent messages.
MQRC_MSG_TOO_BIG_FOR_Q_MGR
(2031, X'7EF') Message length greater than maximum for queue manager.
MQRC_MSG_TOO_BIG_FOR_Q
(2030, X'7EE') Message length greater than maximum for queue. _________________ Peter Potkay
Keep Calm and MQ On |
|
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
|
|
|
|