Reference: Caution with Addresses with Multiple Queues
24.6. Caution with Addresses with Multiple Queues When a message is routed to an address that has multiple queues bound to it, e.g. a JMS subscription, there is only 1 copy of the message in memory. Each queue only deals with a reference to this. Because of this the memory is only freed up once all queues referencing the message have delivered it. This means that if not all queues deliver the message we can end up in a state where messages are not delivered. For example: An address has 10 queues One of the queues does not deliver its messages (maybe because of a slow consumer). Messages continually arrive at the address and paging is started. The other 9 queues are empty even though messages have been sent. In this example we have to wait until the last queue has delivered some of its messages before we depage and the other queues finally receive some more messages.