org.apache.activemq.broker.region.policy
Class UniquePropertyMessageEvictionStrategy

java.lang.Object
  extended by org.apache.activemq.broker.region.policy.MessageEvictionStrategySupport
      extended by org.apache.activemq.broker.region.policy.UniquePropertyMessageEvictionStrategy
All Implemented Interfaces:
MessageEvictionStrategy

public class UniquePropertyMessageEvictionStrategy
extends MessageEvictionStrategySupport

An eviction strategy which evicts the oldest message within messages with the same property value


Field Summary
protected  String propertyName
           
 
Constructor Summary
UniquePropertyMessageEvictionStrategy()
           
 
Method Summary
 MessageReference[] evictMessages(LinkedList messages)
          Find the message reference in the given list with oldest messages at the front and newer messages at the end
 String getPropertyName()
           
 void setPropertyName(String propertyName)
           
 
Methods inherited from class org.apache.activemq.broker.region.policy.MessageEvictionStrategySupport
getEvictExpiredMessagesHighWatermark, setEvictExpiredMessagesHighWatermark
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

propertyName

protected String propertyName
Constructor Detail

UniquePropertyMessageEvictionStrategy

public UniquePropertyMessageEvictionStrategy()
Method Detail

getPropertyName

public String getPropertyName()

setPropertyName

public void setPropertyName(String propertyName)

evictMessages

public MessageReference[] evictMessages(LinkedList messages)
                                 throws IOException
Description copied from interface: MessageEvictionStrategy
Find the message reference in the given list with oldest messages at the front and newer messages at the end

Returns:
the message that has been evicted.
Throws:
IOException - if an exception occurs such as reading a message content (but should not ever happen as usually all the messages will be in RAM when this method is called).


Copyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.