I tried to google either it is known problem but was not able to find my exact scenario. So let me know if it is known issue or I should enter jira issue.
When you "purge" queue from web admin console, it zeroes queue message counter. But if you have an active consumer at that time which pre-fetched messages than your consumer will keep sending ack as it process messages from its buffer. ActiveMQ will keep decrement counter upon receiving each ack. So when consumer is done queue will show MINUS<consumer buffer size>. Steps to reproduce. 1. Create a queue and send 100.000 messages into it. 2. Create a consumer with ClientAcknowledge and start consuming in a loop. To be precise I used async consuming: _consumer.Listener += new Apache.NMS.MessageListener(OnMessage); 3. Let consumer work for some time to make sure that its buffer is filled. 4. From web admin console "purge" the queue. 5. When purge is done, observe that queue message counter keeps decrementing as consumer consume messages. 6. Notice that decrementing stops at around 1K, when consumer is done with messages which were remaining in its buffer. ActiveMQ v-5.1.0; windows xp Pro 64 edition java version "1.6.0_06" Java(TM) SE Runtime Environment (build 1.6.0_06-b02) Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing) Vadim. -- >From RFC 2631: In ASN.1, EXPLICIT tagging is implicit unless IMPLICIT is explicitly specified