Class ReadThroughCache
- java.lang.Object
-
- net.sf.ehcache.constructs.EhcacheDecoratorAdapter
-
- net.sf.ehcache.constructs.readthrough.ReadThroughCache
-
- All Implemented Interfaces:
java.lang.Cloneable,Ehcache,InternalEhcache
public class ReadThroughCache extends EhcacheDecoratorAdapter
This class implements the simplest of all possible read through cache behaviors, where a call the get() will delegate to a call to getWithLoader(). This means that a get() call can take a long time; beware. It also does no more locking thanCacheimplements; each separate cache may try to load a key at the same time.- Author:
- cschanck
-
-
Field Summary
-
Fields inherited from class net.sf.ehcache.constructs.EhcacheDecoratorAdapter
underlyingCache
-
-
Constructor Summary
Constructors Constructor Description ReadThroughCache(Ehcache underlyingCache, ReadThroughCacheConfiguration config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Elementget(java.io.Serializable key)Gets an element from the cache.Elementget(java.lang.Object key)Gets an element from the cache.java.lang.StringgetName()Gets the cache name.-
Methods inherited from class net.sf.ehcache.constructs.EhcacheDecoratorAdapter
acquireReadLockOnKey, acquireWriteLockOnKey, addPropertyChangeListener, bootstrap, calculateInMemorySize, calculateOffHeapSize, calculateOnDiskSize, clone, createQuery, disableDynamicFeatures, dispose, evictExpiredElements, flush, getAll, getAllWithLoader, getBootstrapCacheLoader, getCacheConfiguration, getCacheEventNotificationService, getCacheExceptionHandler, getCacheManager, getDiskStoreSize, getGuid, getInternalContext, getKeys, getKeysNoDuplicateCheck, getKeysWithExpiryCheck, getMemoryStoreSize, getOffHeapStoreSize, getQuiet, getQuiet, getRegisteredCacheExtensions, getRegisteredCacheLoaders, getRegisteredCacheWriter, getSearchAttribute, getSearchAttributes, getSize, getStatistics, getStatus, getWithLoader, getWriterManager, hasAbortedSizeOf, initialise, isClusterBulkLoadEnabled, isClusterCoherent, isDisabled, isElementInMemory, isElementInMemory, isElementOnDisk, isElementOnDisk, isExpired, isKeyInCache, isNodeBulkLoadEnabled, isNodeCoherent, isReadLockedByCurrentThread, isSearchable, isValueInCache, isWriteLockedByCurrentThread, load, loadAll, put, put, putAll, putIfAbsent, putIfAbsent, putQuiet, putWithWriter, recalculateSize, registerCacheExtension, registerCacheLoader, registerCacheWriter, registerDynamicAttributesExtractor, releaseReadLockOnKey, releaseWriteLockOnKey, remove, remove, remove, remove, removeAll, removeAll, removeAll, removeAll, removeAndReturnElement, removeElement, removePropertyChangeListener, removeQuiet, removeQuiet, removeWithWriter, replace, replace, setBootstrapCacheLoader, setCacheExceptionHandler, setCacheManager, setDisabled, setName, setNodeBulkLoadEnabled, setNodeCoherent, setTransactionManagerLookup, toString, tryReadLockOnKey, tryWriteLockOnKey, unregisterCacheExtension, unregisterCacheLoader, unregisterCacheWriter, waitUntilClusterBulkLoadComplete, waitUntilClusterCoherent
-
-
-
-
Constructor Detail
-
ReadThroughCache
public ReadThroughCache(Ehcache underlyingCache, ReadThroughCacheConfiguration config)
- Parameters:
underlyingCache-config-
-
-
Method Detail
-
get
public Element get(java.lang.Object key) throws java.lang.IllegalStateException, CacheException
Description copied from class:EhcacheDecoratorAdapterGets an element from the cache. Updates Element StatisticsNote that the Element's lastAccessTime is always the time of this get. Use
Ehcache.getQuiet(Object)to peek into the Element to see its last access time with get- Specified by:
getin interfaceEhcache- Overrides:
getin classEhcacheDecoratorAdapter- Parameters:
key- an Object value- Returns:
- the element, or null, if it does not exist.
- Throws:
java.lang.IllegalStateException- if the cache is notStatus.STATUS_ALIVECacheException- See Also:
Ehcache.isExpired(net.sf.ehcache.Element)
-
get
public Element get(java.io.Serializable key) throws java.lang.IllegalStateException, CacheException
Description copied from class:EhcacheDecoratorAdapterGets an element from the cache. Updates Element StatisticsNote that the Element's lastAccessTime is always the time of this get. Use
Ehcache.getQuiet(Object)to peak into the Element to see its last access time with get- Specified by:
getin interfaceEhcache- Overrides:
getin classEhcacheDecoratorAdapter- Parameters:
key- a serializable value- Returns:
- the element, or null, if it does not exist.
- Throws:
java.lang.IllegalStateException- if the cache is notStatus.STATUS_ALIVECacheException- See Also:
Ehcache.isExpired(net.sf.ehcache.Element)
-
getName
public java.lang.String getName()
Description copied from class:EhcacheDecoratorAdapterGets the cache name.- Specified by:
getNamein interfaceEhcache- Overrides:
getNamein classEhcacheDecoratorAdapter- Returns:
- the name
-
-