Undelivered messages troubleshooting
Use the advice given here to help you to resolve problems when messages do are not delivered successfully.
- Scenario: Messages do not arrive on a queue when you are expecting them.
- Explanation: Messages that cannot be delivered for some reason are placed on the dead-letter queue.
- Solution: We can check whether the queue contains any messages by issuing an MQSC DISPLAY QUEUE command.
If the queue contains messages, we can use the provided browse sample application (amqsbcg) to browse messages on the queue using the MQGET call. The sample application steps through all the messages on a named queue for a named queue manager, displaying both the message descriptor and the message context fields for all the messages on the named queue.
You must decide how to dispose of any messages found on the dead-letter queue, depending on the reasons for the messages being put on the queue. Problems might occur if we do not associate a dead-letter queue with each queue manager.
For more information about dead-letter queues and handling undelivered messages, see Working with dead-letter queues.