Invoking the DLQ handler

Invoke the DLQ handler using the runmqdlq command. You can name the DLQ you want to process and the queue manager you want to use in two ways:

  • As parameters to runmqdlq from the command prompt. For example:
    runmqdlq ABC1.DEAD.LETTER.QUEUE ABC1.QUEUE.MANAGER <qrule.rul
    

  • In the rules table. For example:
    INPUTQ(ABC1.DEAD.LETTER.QUEUE) INPUTQM(ABC1.QUEUE.MANAGER)
    

The above examples apply to the DLQ called ABC1.DEAD.LETTER.QUEUE, owned by the queue manager ABC1.QUEUE.MANAGER.

If you do not specify the DLQ or the queue manager as shown above, the default queue manager for the installation is used along with the DLQ belonging to that queue manager.

The runmqdlq command takes its input from stdin; you associate the rules table with runmqdlq by redirecting stdin from the rules table.

To run the DLQ handler be authorized to access both the DLQ itself and any message queues to which messages on the DLQ are forwarded. For the DLQ handler to put messages on queues with the authority of the user ID in the message context, also be authorized to assume the identity of other users.

For more information about the runmqdlq command, see runmqdlq (run dead-letter queue handler).

 

The sample DLQ handler, amqsdlq

In addition to the DLQ handler invoked using the runmqdlq command, WebSphere MQprovides the source of a sample DLQ handler, amqsdlq, whose function is similar to that provided by runmqdlq. You can customize amqsdlq to provide a DLQ handler that meets your requirements. For example, you might decide that you want a DLQ handler that can process messages without dead-letter headers. (Both the default DLQ handler and the sample, amqsdlq, process only those messages on the DLQ that begin with a dead-letter header, MQDLH. Messages that do not begin with an MQDLH are identified as being in error, and remain on the DLQ indefinitely.)

In WebSphere MQ for Windows, the source of amqsdlq is supplied in the directory:

 c:\Program Files\IBM\WebSphere MQ\tools\c\samples\dlq

and the compiled version is supplied in the directory:

  c:\Program Files\IBM\WebSphere MQ\tools\c\samples\bin

In WebSphere MQ for UNIX systems, the source of amqsdlq is supplied in the directory:

/opt/mqm/samp/dlq (/usr/mqm/samp/dlq on AIX)

and the compiled version is supplied in the directory:

/opt/mqm/samp/bin (/usr/mqm/samp/bin on AIX)

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.