Home

 

Dead-letter queue considerations

 

In some WebSphere MQ implementations the dead-letter queue is referred to as an undelivered-message queue.

If a channel ceases to run for any reason, applications will probably continue to place messages on transmission queues, creating a potential overflow situation. Applications can monitor transmission queues to find the number of messages waiting to be sent, but this would not be a normal function for them to carry out.

When this occurs in a message-originating node, and the local transmission queue is full, the application’s PUT fails.

When this occurs in a staging or destination node, there are three ways that the MCA copes with the situation:

  1. By calling the message-retry exit, if one is defined.

  2. By directing all overflow messages to a dead-letter queue (DLQ), returning an exception report to applications that requested these reports.

    In distributed-queuing management, if the message is too big for the DLQ, the DLQ is full, or the DLQ is not available, the channel stops and the message remains on the transmission queue. Ensure your DLQ is defined, available, and sized for the largest messages you handle.

  3. By closing down the channel, if neither of the previous options succeeded.

  4. By returning the undelivered messages back to the sending end and returning a full report to the reply-to queue (MQRC_EXCEPTION_WITH_FULL_DATA and MQRO_DISCARD_MSG).

If an MCA is unable to put a message on the DLQ:

 

Parent topic:

Problem determination in DQM


ic19430_


 

Home