Class UniquePropertyMessageEvictionStrategy
- java.lang.Object
-
- org.apache.activemq.broker.region.policy.MessageEvictionStrategySupport
-
- 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
Fields Modifier and Type Field Description protected String
propertyName
-
Constructor Summary
Constructors Constructor Description UniquePropertyMessageEvictionStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MessageReference[]
evictMessages(LinkedList messages)
Find the message reference in the given list with oldest messages at the front and newer messages at the endString
getPropertyName()
void
setPropertyName(String propertyName)
-
Methods inherited from class org.apache.activemq.broker.region.policy.MessageEvictionStrategySupport
getEvictExpiredMessagesHighWatermark, setEvictExpiredMessagesHighWatermark
-
-
-
-
Field Detail
-
propertyName
protected String propertyName
-
-
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).
-
-