What is the difference between a Dead Letter Queue and a back out Queue?

Manglu picture Manglu · May 18, 2009 · Viewed 41.2k times · Source

What is the difference between a dead letter Queue and a back out queue?

In WebSphere MQ terms and in terms of Application Servers.

All J2EE/JEE app servers have a MQ Provider do they also have a construct of a Dead Letter Queue or is that something specific to WebSphere MQ?

My understanding of a back out queue is as follows:

If MQ is unable to deliver the message to a destination after a specified number of attempts it moves the message to the back out queue.

I do not have a clear understanding of a Dead Letter queue.

Appreciate any assistance.

Answer

paxdiablo picture paxdiablo · May 18, 2009

The dead letter queue was always used in MQSeries (the last time I used MQ) to store messages that arrived at the queue manager but the queue didn't exist.

For example, if the message was address to queue manager X and queue Y, it would arrive via a channel at manager X.

If the receiver channel discovered there was no queue Y, it would be placed in the dead letter queue.

The backout queue, on the other hand, is more of an application-level thing (at least in terms of MQ). When an MQ client cannot process the message for some reason, it can back it out for later processing (back to it's original queue).

If it's backed out too many times (the threshold can be configured), it gets moved to the backout queue.