org.jboss.cache.eviction
Class LRUAlgorithm
java.lang.Object
org.jboss.cache.eviction.BaseEvictionAlgorithm
org.jboss.cache.eviction.LRUAlgorithm
- All Implemented Interfaces:
- EvictionAlgorithm
public class LRUAlgorithm
- extends BaseEvictionAlgorithm
Least recently Used algorithm to purge old data.
Note that this algorithm is not thread-safe.
- Author:
- Ben Wang 02-2004, Daniel Huang - dhuang@jboss.org
Methods inherited from class org.jboss.cache.eviction.BaseEvictionAlgorithm |
assignToRegion, canIgnoreEvent, emptyRecycleQueue, evictCacheNode, getEvictionActionPolicy, getEvictionAlgorithmConfig, getEvictionQueue, getNextInQueue, initialize, isNodeInUseAndNotTimedOut, isYoungerThanMinimumTimeToLive, process, processAddedElement, processAddedNodes, processAddedNodes, processMarkInUseNodes, processQueues, processRemovedElement, processRemovedNodes, processUnmarkInUseNodes, processVisitedNodes, resetEvictionQueue, setEvictionActionPolicy, toString |
LRUAlgorithm
public LRUAlgorithm()
setupEvictionQueue
protected EvictionQueue setupEvictionQueue()
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
- Returns:
- The created EvictionQueue to be used as the eviction queue for this algorithm.
- Throws:
EvictionException
- if there are problems- See Also:
EvictionQueue
shouldEvictNode
protected boolean shouldEvictNode(NodeEntry entry)
- 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:
entry
- NodeEntry to test eviction for.
- Returns:
- True if the given node should be evicted. False if the given node should not be evicted.
evict
protected void evict(NodeEntry ne)
- Overrides:
evict
in class BaseEvictionAlgorithm
prune
protected void prune()
throws EvictionException
- Overrides:
prune
in class BaseEvictionAlgorithm
- Throws:
EvictionException
getConfigurationClass
public Class<? extends EvictionAlgorithmConfig> getConfigurationClass()
- Description copied from interface:
EvictionAlgorithm
- This is a helper so that the XML parser will be able to select and use the correct
EvictionAlgorithmConfig
implementation
class corresponding to this EvictionAlgorithm. E.g., the FIFOAlgorithm
would return FIFOAlgorithmConfig
.class.
- Returns:
- a class that is used to configure this EvictionAlgorithm.
Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.