[ https://issues.apache.org/activemq/browse/AMQ-871?page=comments#action_36715 ] Mathew Kuppe commented on AMQ-871: ----------------------------------
Note one obvious side-effect of this change is that it will allow the evictMessage method to return an empty array and thereby not removing any messages from the pending message list. > Allow MessageEvictionStrategy to evict more than one MessageReference in > evictMessage(LinkedList message) method > ---------------------------------------------------------------------------------------------------------------- > > Key: AMQ-871 > URL: https://issues.apache.org/activemq/browse/AMQ-871 > Project: ActiveMQ > Issue Type: Improvement > Components: Broker > Reporter: Mathew Kuppe > Attachments: evictMultipleMessages-patch.txt > > > For slow consumers every time a single message is added to a > TopicSubscription where the pending message limit is reached, a new call to > evictMessage is made. To allow for more flexible and efficient means of > evicting messages it would be nice to be able to evict multiple messages in > one call to evictMessage. This allows new MessageEvictionStrategy > implementations to evict based on age of messages (eg. evict all messages in > the pending message list that are older than x ms), duplicate messages (evict > all messages that are redundant based on newer messages currently in the > pending message list) etc. As a single call to the evictMessage method may > have the opportunity to reduce the size of the pending message list by more > than one it means that the next message added to the TopicSubscription may > not need to have to call the evictMessage again. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
