I'm trying to write a utility to monitor our JMS queues using JMX. I'm having a hard time getting all of the messages currently in queue to show up when I call the browseMessages operation. It seems to randomly stop keeping track of how many messages are actually in the queue after a period of time when no consumers are active on the queue. Once a consumer connects and starts consuming messages then the browse function seems to work OK again. I'm using this configuration for my persistence:
<persistenceAdapter>
<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="20 mb"/>
</persistenceAdapter>
Messages come in via stomp (<transportConnector name="stomp+ssl" uri="stomp+ssl://localhost:1940) and are consumed via http (<transportConnector name="ihttp" uri="http://localhost:61618"/>).