After further investigation, it would appear that in the following code
snippet...

531        public void acknowledge(ConnectionContext context, Subscription
sub, MessageAck ack, MessageReference node) throws IOException {
532            if (store != null && node.isPersistent()) {
533                // the original ack may be a ranged ack, but we are
trying to delete
534                // a specific
535                // message store here so we need to convert to a non
ranged ack.
536                if (ack.getMessageCount() > 0) {
537                    // Dup the ack
538                    MessageAck a = new MessageAck();
539                    ack.copy(a);
540                    ack = a;
541                    // Convert to non-ranged.
542                    ack.setFirstMessageId(node.getMessageId());
543                    ack.setLastMessageId(node.getMessageId());
544                    ack.setMessageCount(1);
545                }
546                store.removeMessage(context, ack);
547            }
548        }

Once a message is acked, the message is removed from the message store (line
546). But, the message reference is not removed from pagedInMessages. I
think the message, or rather the message reference, should be dropped and/or
removed from pagedInMessages.
Any help in limiting the size of pagedInMessages either programmatically or
via the XML config file?
-- 
View this message in context: 
http://www.nabble.com/ActiveMQ-ver5.0-number-of-paged-in-messages-tp14860957s2354p14902052.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to