Skip to main content

Dead Letter Queue (DLQ) - Collect troubleshooting data for a DLQ problem on Windows - Middleware News

Dead Letter Queue (DLQ) - Collect troubleshooting data for a DLQ problem on Windows -Middleware News



Problem


Documentation required by the support team for a WebSphere MQ Dead Letter Queue (DLQ) problem on the Windows operating systems. Gathering this information before calling IBM support helps expedite the troubleshooting process and saves you time


Collecting documentation required by the support team


Required documentation:

* Error logs
* Browse of messages on the dead letter queue
* Use the amqsbcg sample program to browse the messages on the DLQ.
 Example: amqsbcg MY_DLQ MY_QMGR > amqsbcg.out
+ Where MY_DLQ is the name of your DLQ
+ Where MY_QMGR is the name of your queue manager


Troubleshooting hints and tips

Process to determine why a message is on the DLQ (dead letter queue):

1. Browse the message on the dead letter queue.

2. Locate the dead letter header. The dead letter header starts with the characters '"DLH". Example: 444C 4820 0100 0000 0A01 0000 4D59 2E51 'DLH ........MY.Q'

3. Find the dead letter Reason (the reason the message arrived on the DLQ) in the third word in the dead letter header. In this example the dead letter Reason is: x'0A01 0000'.

4. Perform this step only on Intel processors (Windows, Linux-Intel and OS/2) . On an Intel processor the dead letter reason is in little-endian format (low-order bytes first). Byte swap x'0A01 0000' little-endian, to x'0000 010A' big-endian.

5. Convert hex x'0000 010A' to decimal 266.

6. Use the dead letter reason code to determine why the message was placed on the dead-letter queue. The deal letter reason code is a Reason Code (MQRC_*) ,or a Feedback Code (MQFB_*). Example: MQFB_TM_ERROR 266 X'0000010A'

7. See the dead letter message example (amqsbcg.txt) attached to the bottom on this technote.



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
* 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 you must 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, you must 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)

Comments

adsrerrapop

Popular posts from this blog

Troubleshooting Java/JMS SSL Configurations - Middleware News

 This document is intended to help diagnose WebSphere MQ V7 Java™ or JMS SSL setup errors. It lists most of the common configuration errors that can cause an SSL connection from a Java/JMS client to a queue manager to fail, and gives the course of action to resolve the problem. In each case the error can be diagnosed by a combination of the error seen in the client log - either a console output, trace file or SystemOut.log file - and the queue manager's error logs. The document is quite long, so the easiest way to find the potential error is to search for one of the errors seen in this list, then filter this list using the error from the opposite end of the channel. All cases here assume that 2-way authentication is being attempted (SSLCAUTH set to REQUIRED on the queue manager's SVRCONN channel). This is the default, and the errors are very similar for 1-way authentication (SSLCAUTH set to OPTIONAL). Symptom Instructions on collecting documentation...

IBM Websphere MQ interview Questions Part 5

MQ Series: - It is an IBM web sphere product which is evolved in 1990’s. MQ series does transportation from one point to other. It is an EAI tool (Middle ware) VERSIONS:-5.0, 5.1, 5.3, 6.0, 7.0(new version). The currently using version is 6.2 Note: – MQ series supports more than 35+ operating systems. It is platform Independent. For every OS we have different MQ series software’s. But the functionality of MQ series Default path for installing MQ series is:- C: programfiles\BM\clipse\SDK30 C: programfiles\IBM\WebsphereMQ After installation it will create a group and user. Some middleware technologies are Tibco, SAP XI. MQ series deals with two things, they are OBJECTS, SERVICES. In OBJECTS we have • QUEUES • CHANNELS • PROCESS • AUTHENTICATION • QUERY MANAGER. In SERVICES we have LISTENERS. Objects: – objects are used to handle the transactions with the help of services. QUEUE MANAGER maintains all the objects and services. QUEUE: – it is a database structure ...

Using telnet to test connectivity between IBM Websphere MQ Client and MQ server - Middleware News

You are having trouble connecting a WebSphere MQ client to a MQ server, receiving errors that you can not connect to the MQ queue manager. One of the first things to determine is if the two machines can communicate, and using the telnet tool is one way to accomplish it. Symptom Receiving errors which state that a queue manager is not found or not available. Connection errors. For example: AMQ9213, AMQ9524, AMQ9202 or AMQ9508 or MQRC =2059 0x0000080b MQRC_Q_MGR_NOT_AVAILABLE. Please note, this is by no means an exclusive list of errors related to this type a problem but just a sample of some of the more common error messages and codes that might occur. Cause One possible cause is that the two machines can not communicate. May be the IP address or hostname was not properly specified by the MQ client. The port number might be incorrect. A queue manager is not running at the desired host. The queue manager could be running, but the corresponding listener is not runnin...