Sunteți pe pagina 1din 3

The DLQ is a local queue designated to hold messages which could not be routed t

o their correct destination.


Dell s Middleware Design & Administration group has designated the local queue SYST
EM.DEAD.LETTER.QUEUE as the
DLQ on all MQSeries queue managers.
Only one DLQ can be designated in a MQ Ma
nager.
MQSeries queue manager (QM) and the MQSeries message channel agents (MCAs) can p
ut messages into the DLQ.
Although an application can also put a message in the DLQ it is not recommended
unless the application also perfixes
the message with a dead-letter header (MQDLH).

Root Cause:
(1)
When new messages are found in a Production Dead Letter Queue:
a.
First determine the reason for messages arriving to the DLQ and resolve
the issue first.
For example, Q_Full, if the destination local queue is full, determine why and c
orrect.
b.
Once the issue is resolved AND the destination queue has room (either by
application consuming or
support temporarily increasing max depth), then run the MQ Dead Letter Handler.

Problem Resolution:

********************************************************************************
***********************
linux or windows via Nastel

********************************************************************************
***********************
right click SYSTEM.DEAD.LETTER.QUEUE from incident > Messages > Browse

select the message(s) > right click > Re-Route

Select Next

Select Original destination

Select Next

Select Finish

********************************************************************************
***********************
linux or windows via DLQH
********************************************************************************
***********************
Command Prompt (run as admin)
runmqdlq SYSTEM.DEAD.LETTER.QUEUE <QMGR> < C:\apps\qrule.rul

*if qrule.rul does not exist, then you should create one for the particular situ
ation.
For example, if the destination queue is full, then create a qrule.rul and plac

e it in either C:\apps or D:\apps.


This qrule.rul would look like this:

REASON(*) ACTION(RETRY) RETRY(5)

c.
If for some reason, the application is having an issue with the first m
essage in the destination queue
(malformed data), then you can use qload to move that one malformed message to a b
ack-out queue.
The utility qload should be available on all nodes in the same install path as run
mqsc \WebSphereMQ\bin folder.
For example, if the first message of LQ APP.DATA.LQ is malformed on QMGR APPSIT,
then move this message
to a temporary LQ (model it after the real LQ) called APP.DATA.BOQ by running th
e following command in a normal
command prompt:

qload

m APPSIT

I APP.DATA.LQ o APP.DATA.BOQ

r#1

*use qload h to see all options, in this case the capitol I performs a move where
as lowercase i would perform a copy.
The r# switch is the message number, in this case the first message.
(2)
This document s sole purpose is to address messages in the default dead let
ter queue (SYSTEM.DEAD.LETTER.QUEUE).
If L1 support cannot address DLQ messages, then escalate to L2/3 by cutting inci
dent/task to ITEA/Middleware-MQSeries

(3)
Finally, more details on using the IBM WebSphere MQ dead-letter queue han
dler can be found here:
http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=%2Fcom.ibm.m
q.amqzag.doc%2Ffa13990_.htm

S-ar putea să vă placă și