We have a similar - but not identical - problem, although I have not been able to diagnose it as well as you did:
* Our server has been running for a while, and has received a number of messages via a JMS bridge.
* Target of that JMS bridge is queue/receiverQueue, which in turn has diverts that distribute these messages
into three queues, which we an call queue/A, queue/B and queue/C for now.
* Some of the messages from queue/A have been consumed earlier, but that seems to have stopped: No new messages are getting consumed.
* Looking at the queue/A entry in JMX console, I can see that there are messages in the queue, but also
the Consumer Count is >1. Usually at this point MessageCount==DeliveryCount, meaning that all the messages
have been assigned to some consumer for consumption.
* queue/B and queue/C may at this point still have just one consumer, and work correctly.
* queue/A, B & C are identical in the sense that each of them have one consumer, created via Spring using
* If I restart the server, the consumer count stays at 1 for a while before growing again.
Your description of dead consumers hogging messages in a queue fits our symptoms.
I don't think you're hitting the same issue. You probably have blocking configured on paging mode and you're running out of credits / not consuming messages. The other message on this thread was about message grouping which is a different thing.