Could be because it's inflight and not ack'd. Take a look here: http://activemq.apache.org/how-do-i-find-the-size-of-a-queue.html
The webconsole doesn't show inflight messages (those dispatched, but not ack'd). Jconsole does. And the new webconsole (http://hawt.io) will. HTH On Wed, Aug 21, 2013 at 11:16 AM, SledgeHammer <gro...@firstam.com> wrote: > So my set up is that each producer creates 2 queues (send queue and recv > queue). When a consumer connects, it listens to the advisory queue and > attaches to all the send queues. So for example, a consumer may be watching > 10 send queues. > > The main work loop is: > > for (;;) > { > foreach queue > WaitForMutex > ReceiveNoWait() > ReleaseMutex > } > > The stuff with the mutex is because we are running 200 consumers on single > CPU VMs with another heavy process, so we kind of want to switch off > between > that process and this consumer so they don't try to do work at the same > time > and kill the machine. > > Anyways... my question is... if we are monitoring the queue via the web > console, it seems like occasionally (kinda frequently) we get into a > situation where a msg shows pending, but it has actually been dispatched to > a consumer... > > What I'm getting at, is if the ReceiveNoWait() is pulling a message, why is > it still showing as pending in the web console? > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Can-you-explain-how-this-part-works-tp4670560.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta