Dead Letter Queues
A dead letter queue stores requests that could not be processed due to some failure in the system, application or configuration.
Administration of DLQ
The best approach is to deploy an MDB that handles messages
appearing in the DLQ, e.g.
1) Send messages to admin/tech support
2) Stores the message somewhere for debugging purposes
If you don't want to write an MDB, you can just install
a monitor that fires a notification everytime the queue size changes.
In general, the messages sent to the DLQ identify either
a bug in the original MDB or some other processing problem
(like the db is unavailable so you get a transaction rollback).
Normally, the messages can be reposted to the original queue,
once the problem is resolved.
Note: DLQ is MDB-specific feature. It cannot be used without an MDB. You can however follow the approach of using a monitor, as mentioned above, if you dont want to use MDBs.