org.jboss.cache.eviction
Class MRUAlgorithm
java.lang.Object
org.jboss.cache.eviction.BaseEvictionAlgorithm
org.jboss.cache.eviction.MRUAlgorithm
- All Implemented Interfaces:
- EvictionAlgorithm
public class MRUAlgorithm
- extends BaseEvictionAlgorithm
Most Recently Used Algorithm.
This algorithm will evict the most recently used cache entries from cache.
Note: None of the Eviction classes are thread safe. It is assumed that an individual instance of an EvictionPolicy/
EvictionAlgorithm/EvictionQueue/EvictionConfiguration are only operated on by one thread at any given time.
- Version:
- $Revision: 5671 $
- Author:
- Daniel Huang (dhuang@jboss.org)
Methods inherited from class org.jboss.cache.eviction.BaseEvictionAlgorithm |
emptyRecycleQueue, evict, evictCacheNode, getEvictionQueue, initialize, isNodeInUseAndNotTimedOut, isYoungerThanMinimumTimeToLive, process, processAddedElement, processAddedNodes, processAddedNodes, processMarkInUseNodes, processQueues, processRemovedElement, processRemovedNodes, processUnmarkInUseNodes, prune, resetEvictionQueue, toString |
MRUAlgorithm
public MRUAlgorithm()
setupEvictionQueue
protected EvictionQueue setupEvictionQueue(Region region)
throws EvictionException
- Description copied from class:
BaseEvictionAlgorithm
- This method will create an EvictionQueue implementation and prepare it for use.
- Specified by:
setupEvictionQueue
in class BaseEvictionAlgorithm
- Parameters:
region
- MarshRegion to setup an eviction queue for.
- Returns:
- The created EvictionQueue to be used as the eviction queue for this algorithm.
- Throws:
EvictionException
- See Also:
EvictionQueue
shouldEvictNode
protected boolean shouldEvictNode(NodeEntry ne)
- Description copied from class:
BaseEvictionAlgorithm
- This method will check whether the given node should be evicted or not.
- Specified by:
shouldEvictNode
in class BaseEvictionAlgorithm
- Parameters:
ne
- NodeEntry to test eviction for.
- Returns:
- True if the given node should be evicted. False if the given node should not be evicted.
processVisitedNodes
protected void processVisitedNodes(EvictedEventNode evictedEventNode)
throws EvictionException
- Description copied from class:
BaseEvictionAlgorithm
- Visit a node in cache.
This method will update the numVisits and modifiedTimestamp properties of the Node.
These properties are used as statistics to determine eviction (LRU, LFU, MRU, etc..)
*Note* that this method updates Node Entries by reference and does not put them back
into the queue. For some sorted collections, a remove, and a re-add is required to
maintain the sorted order of the elements.
- Overrides:
processVisitedNodes
in class BaseEvictionAlgorithm
- Throws:
EvictionException
Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.