Class EHCacheRegion
- java.lang.Object
-
- de.hybris.platform.regioncache.region.impl.EHCacheRegion
-
- All Implemented Interfaces:
CacheRegion
- Direct Known Subclasses:
CacheAccessImpl
public class EHCacheRegion extends java.lang.Object implements CacheRegion
Cache region implementation using EHCache.
-
-
Field Summary
Fields Modifier and Type Field Description protected net.sf.ehcache.CachecacheMapprotected CacheLifecycleCallbacklifecycleCallbackprotected net.sf.ehcache.CacheManagermanagerprotected CacheStatisticsstats
-
Constructor Summary
Constructors Constructor Description EHCacheRegion(java.lang.String name, int maxEntries)EHCacheRegion(java.lang.String name, int maxEntries, java.lang.String evictionPolicy)EHCacheRegion(java.lang.String name, int maxEntries, java.lang.String evictionPolicy, boolean exclusiveComputation, boolean statsEnabled)EHCacheRegion(java.lang.String name, int maxEntries, java.lang.String evictionPolicy, boolean exclusiveComputation, boolean statsEnabled, java.lang.Long ttlSeconds)Constructor that adds possibility to configure TTL seconds for cache elements.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearCache()Removes all elements from cache.booleancontainsKey(CacheKey key)Checks if key is in the cache map.protected net.sf.ehcache.config.CacheConfigurationcreateCacheConfiguration()protected net.sf.ehcache.event.CacheEventListenercreateCacheEventListener()protected CacheStatisticscreateCacheStatistics()voiddestroy()Method unregisters cachejava.lang.Objectget(CacheKey key)Gets value from the cache.java.util.Collection<CacheKey>getAllKeys()Returns all keys currently stored in this region.longgetCacheMaxEntries()Gets number of cache entries above which invalidation occurs.CacheStatisticsgetCacheRegionStatistics()Gets statistics for current region.java.lang.String[]getHandledTypes()Gets types which can be stored in the region.longgetMaxReachedSize()Returns number of elements currently in the cachejava.lang.StringgetName()Gets region name.java.lang.ObjectgetWithLoader(CacheKey key, CacheValueLoader loader)Gets value from cache.voidinit()java.lang.Objectinvalidate(CacheKey key, boolean fireEventsEvenIfNotRemoved)Invalidates (removes) value from cache map.booleanisStatsEnabled()voidregisterLifecycleCallback(CacheLifecycleCallback callback)This callback shall be called when eviction occurs.java.lang.Objectremove(CacheKey key, boolean fireEvents)Removes value stored on the key specified.voidsetHandledTypes(java.lang.String[] handledTypes)voidsetStatsEnabled(boolean enabled)java.lang.StringtoString()CacheRegionunwrap()
-
-
-
Field Detail
-
lifecycleCallback
protected CacheLifecycleCallback lifecycleCallback
-
manager
protected net.sf.ehcache.CacheManager manager
-
cacheMap
protected net.sf.ehcache.Cache cacheMap
-
stats
protected final CacheStatistics stats
-
-
Constructor Detail
-
EHCacheRegion
public EHCacheRegion(java.lang.String name, int maxEntries)
-
EHCacheRegion
public EHCacheRegion(java.lang.String name, int maxEntries, java.lang.String evictionPolicy)
-
EHCacheRegion
public EHCacheRegion(java.lang.String name, int maxEntries, java.lang.String evictionPolicy, boolean exclusiveComputation, boolean statsEnabled)
-
EHCacheRegion
public EHCacheRegion(java.lang.String name, int maxEntries, java.lang.String evictionPolicy, boolean exclusiveComputation, boolean statsEnabled, java.lang.Long ttlSeconds)Constructor that adds possibility to configure TTL seconds for cache elements.- Parameters:
ttlSeconds- time to live seconds for cache elements (see EHCache docs for information about how this affects cache operations)
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
createCacheStatistics
protected CacheStatistics createCacheStatistics()
-
createCacheConfiguration
protected net.sf.ehcache.config.CacheConfiguration createCacheConfiguration()
-
init
@PostConstruct public void init()
-
destroy
@PreDestroy public void destroy()
Method unregisters cache
-
createCacheEventListener
protected net.sf.ehcache.event.CacheEventListener createCacheEventListener()
-
get
public java.lang.Object get(CacheKey key)
Description copied from interface:CacheRegionGets value from the cache. If value is absent returns null. Must be thread safe.- Specified by:
getin interfaceCacheRegion
-
getMaxReachedSize
public long getMaxReachedSize()
Description copied from interface:CacheRegionReturns number of elements currently in the cache- Specified by:
getMaxReachedSizein interfaceCacheRegion
-
getWithLoader
public java.lang.Object getWithLoader(CacheKey key, CacheValueLoader loader) throws CacheValueLoadException
Description copied from interface:CacheRegionGets value from cache. Invokes loader if necessary. Must be thread safe.- Specified by:
getWithLoaderin interfaceCacheRegion- Throws:
CacheValueLoadException
-
getName
public java.lang.String getName()
Description copied from interface:CacheRegionGets region name. Needed to resolve proper cache region.- Specified by:
getNamein interfaceCacheRegion
-
getHandledTypes
public java.lang.String[] getHandledTypes()
Description copied from interface:CacheRegionGets types which can be stored in the region. Needed to resolve proper cache region.
Special type names are defined inRegionType.- Specified by:
getHandledTypesin interfaceCacheRegion
-
getCacheRegionStatistics
public CacheStatistics getCacheRegionStatistics()
Description copied from interface:CacheRegionGets statistics for current region.- Specified by:
getCacheRegionStatisticsin interfaceCacheRegion
-
getCacheMaxEntries
public long getCacheMaxEntries()
Description copied from interface:CacheRegionGets number of cache entries above which invalidation occurs.- Specified by:
getCacheMaxEntriesin interfaceCacheRegion
-
registerLifecycleCallback
public void registerLifecycleCallback(CacheLifecycleCallback callback)
Description copied from interface:CacheRegionThis callback shall be called when eviction occurs.- Specified by:
registerLifecycleCallbackin interfaceCacheRegion
-
clearCache
public void clearCache()
Description copied from interface:CacheRegionRemoves all elements from cache.- Specified by:
clearCachein interfaceCacheRegion
-
invalidate
public java.lang.Object invalidate(CacheKey key, boolean fireEventsEvenIfNotRemoved)
Description copied from interface:CacheRegionInvalidates (removes) value from cache map. Must be thread safe.- Specified by:
invalidatein interfaceCacheRegion- Returns:
- an object invalidated from cache.
-
getAllKeys
public java.util.Collection<CacheKey> getAllKeys()
Description copied from interface:CacheRegionReturns all keys currently stored in this region.- Specified by:
getAllKeysin interfaceCacheRegion
-
remove
public java.lang.Object remove(CacheKey key, boolean fireEvents)
Description copied from interface:CacheRegionRemoves value stored on the key specified. This method does not update statistics. Returns value removed or null.- Specified by:
removein interfaceCacheRegion
-
setHandledTypes
public void setHandledTypes(java.lang.String[] handledTypes)
- Parameters:
handledTypes- the handledTypes to set
-
containsKey
public boolean containsKey(CacheKey key)
Description copied from interface:CacheRegionChecks if key is in the cache map.- Specified by:
containsKeyin interfaceCacheRegion
-
setStatsEnabled
public void setStatsEnabled(boolean enabled)
- Specified by:
setStatsEnabledin interfaceCacheRegion
-
isStatsEnabled
public boolean isStatsEnabled()
- Specified by:
isStatsEnabledin interfaceCacheRegion
-
unwrap
public CacheRegion unwrap()
-
-