runmqdlq (run dead-letter queue handler)
Start the dead-letter queue handler to monitor and process messages on the dead-letter queue.
Use the runmqdlq command to start the dead-letter queue (DLQ) handler, which monitors and handles messages on a dead-letter queue.
Before IBM® MQ 9.2.3, this command is used on servers. If you want client mode you should compile amqsdlq in client mode. See The sample DLQ handler amqsdlq for more information.
From IBM MQ 9.2.3, you can use runmqdlq with the -c parameter to specify that it should connect to a queue manager by using a client connection.
Use the dead-letter queue handler to perform various actions on selected messages by specifying a set of rules that can both select a message and define the action to be performed on that message.
The runmqdlq command takes its input from
stdin. When the
command is processed, the results and a summary are put into a report that is sent to
stdin from the keyboard, you can enter runmqdlq
By redirecting the input from a file, you can apply a rules table to the specified queue. The rules table must contain at least one rule.
- On AIX® and Linux®, the DLQ handler does not start to process the named queue until it receives an end_of_file (Ctrl+D) character.
- On Windows, the DLQ handler does not start to process the named queue until you press the following sequence of keys: Ctrl+Z, Enter, Ctrl+Z, Enter.
For more information about rules tables and how to construct them, see The DLQ handler rules table.
The MQSC command rules for comment lines and for joining lines also apply to the DLQ handler input parameters.
- The name of the queue to be processed.
If you omit the name, the dead-letter queue defined for the local queue manager is used. If you enter one or more blanks (' '), the dead-letter queue of the local queue manager is explicitly assigned.
- The name of the queue manager that owns the queue to be processed.
If you omit the name, the default queue manager for the installation is used. If you enter one or more blanks (' '), the default queue manager for this installation is explicitly assigned.
- -u UserID
- If you use the -u parameter to supply a user ID, you are prompted for a matching password.
If you have configured the
CONNAUTH AUTHINFOrecord with
CHCKLOCL(REQDADM), you must use the -u parameter otherwise you will not be able to start a dead-letter queue handler for your queue manager with runmqdlq.
If you specify this parameter and redirect
stdin, a prompt will not be displayed and the first line of redirected input should contain the password.
- Modifies the runmqdlq command to connect to a queue manager by using a client
connection. The client channel definitions used to connect to the queue manager are located using
the following environment variables in this order of precedence:
This option requires the client to be installed. If it is not installed an error message reporting the missing client libraries is issued.