Just a quick followup, I looked into org.apache.activemq.broker.region.Queue
to see where the supposedly deleted messages were coming from and they're
being picked up from the "pagedInPendingDispatch" list during doBrowse(...):

    // Messages that are paged in but have not yet been targeted at a
subscription
    private List<QueueMessageReference> pagedInPendingDispatch = new
ArrayList<QueueMessageReference>(100);

public void doBrowse(boolean forcePageIn, List<Message> l, int max) {
        final ConnectionContext connectionContext =
createConnectionContext();
        try {
            pageInMessages(forcePageIn);
            List<MessageReference> toExpire = new
ArrayList<MessageReference>();
            synchronized(dispatchMutex) {
                synchronized (pagedInPendingDispatch) {
-->                    addAll(pagedInPendingDispatch, l, max, toExpire);
...

This list does not get modified during deletion of a message, so is caching
a copy of the deleted messages.

-- 
View this message in context: 
http://old.nabble.com/Purged-messages-still-appear-in-JMX-browseAsTable-tp26832947p26833977.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to