I just noticed while looking at Queue.removeSubscription(), that it goes
through pagedInMessages, and effectively redelivers all messages that
were locked by the removed subscription.
My question is why is this necessary? From my understanding in the code
(which may be flawed), these messages will be present in the pending
lists of all the other current subscribers, so they should eventually
dispatch this message since the messages are now unlocked.
I know we call node.incrementRedeliveryCounter() to indicate that the
message is being redelivered - but it seems to me that we can avoid
redelivering these messages which seems desirable, since some consumers
may see the same message twice.
--
Cheers,
David
Nuix Pty Ltd
Suite 79, 89 Jones St, Ultimo NSW 2007, Australia Ph: +61 2 9280 0699
Web: http://www.nuix.com Fax: +61 2 9212 6902