Share via


Dead-letter queues

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Dead-letter queues

Undeliverable and expired nontransactional messages are stored in nontransactional dead-letter queues. Undeliverable and expired transactional messages are stored in transactional dead-letter queues. Such messages are stored in the applicable queues on the computer on which the message expired (or failed to be delivered or forwarded). This can be the source computer, the target computer, or an intermediate Message Queuing server.

There is one nontransactional dead-letter queue and one transactional dead-letter queue on each Message Queuing server and independent client. These queues are created automatically and are listed in the System Queues folder of the applicable computer in MMC snap-ins.

Messages are considered undeliverable when the following conditions apply:

  • The destination queue is unknown by the sender.

  • The message exceeds its maximum number of allowed hops.

  • The queue storage limit, or quota, is reached.

  • A nontransactional message is sent to a transactional queue or vice versa.

  • For transactional messages, the sending or receiving transaction failed. However, when the receiving transaction fails, these messages are not placed in the transactional dead-letter queue.

Messages are considered expired when:

  • The lifetime of messages on the network, called the time-to-reach-queue (TTRQ), elapses. This can be set programmatically by a Message Queuing application.

  • Their time-to-be-received (TTBR) elapses. This is always set programmatically by a Message Queuing application.

When a sending application is not allowed to send messages to a particular queue because of a lack of the necessary access rights, those messages are not stored in the nontransactional dead-letter or transactional dead-letter queues. However, negative acknowledgment messages may be generated if the original messages are so configured.

Messages in nontransactional dead-letter and transactional dead-letter queues are always written to disk and are therefore recoverable.

For more information on transactional messaging, see Transactional messaging.