Check for new replies
Thread Rating:
  • 82 Vote(s) - 3.11 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Dead-Letter Queue
#1
Dead-Letter Queue
It is the local queue on a queue manager which is assigned to store the undelivered messages that cannot be returned to the sender.
By Default, queue manager is not assigned any Dead-Letter Queue and the undelivered messages will be lost.

Who Puts message on Dead-Letter Queue(DLQ)?
Queue Managers, Channels(MCA) or Applications can put message on the Dead-Letter Queue. DLH (Dead Letter Header) should be there for the messages that are put in DLQ and it will be generated by Qmgr or MCA but if the Application is putting the message on DLQ, application has to create DLH.

Configuring Dead-Letter Queue for queue manager
We configure Dead-Letter Queue to queue manager by altering the properties of queue manager. We can assign any local queue but usually we use SYSTEM.DEAD.LETTER.QUEUE
[Image: DBgPu4C.png]
PHP Code:
ALTER QMGR DEADQ(SYSTEM.DEAD.LETTER.QUEUE
[Image: OLJ9FIP.png]

SCENARIO:
Application connected to the queue manager ORANGE is sending some message the local queue (APPLE.QL1) on the queue manager APPLE. Dead-Letter Queue is configured for the queue manager APPLE to store the undelivered messages.

Message will be undelivered if APPLE.QL1 is put-disabled or if its full or for any other reason. Receiver MCA, if it is unable to deliver the message to the required Queue, it will put the message to the queue manager's Dead-Letter Queue. Reason why it is undelivered will be added to the message by the MCA before putting it in the Dead-Letter Queue.
  • APPLE.QL1 is Put Disabled
    [Image: FH3cjxX.png]
    Putting Message to Remote queue.
    [Image: RJLqcDP.png]
    Message ended up in Dead-Letter Queue
    [Image: eLu9Y2d.png]
    [Image: jJt2oP9.png]
    Finding out the reason why it was undelivered
    [Image: K6lS9Es.png]
  • APPLE.QL1 is Full
    [Image: ZDk8GCw.png]
    Browsing the message from Dead-Letter Queue and identifying the data containing Error Code.
    [Image: 7aHX9Rk.png]
    Finding out the error code.
    [Image: DxpeXJi.png]
cheers,
Jessin
Reply
#2
neat one, it would b good if u could provide some input on the Dead Letter Q handler As well
Reply
#3
I have noticed that the name for a DLQ is always SYSTEM.DEAD.LETTER.QUEUE, is this a requirement or can a new Local queue be created to replace this, e.g. DEAD.LETTER.QUEUE in order to remove it from a large list when looking at all queues beginning with SYSTEM.
MQ Explorer hides the SYSTEM queues unless turned on to unhide, then there is a lot to look through.
Reply
#4
We can have a local queue created to use as a Dead-letter Queue.
cheers,
Jessin
Reply
#5
hii,
in my Flow(Mq input-----compute node-----mq output)----if message is transforming from this flow,if queue depth is full what will happen?
can we increase queue depth while application is running,then how can we increase?
Reply

Check for new replies

Forum Jump:


Users browsing this thread: 1 Guest(s)