Class AbstractEhcacheCache

  • All Implemented Interfaces:
    org.apache.ibatis.cache.Cache
    Direct Known Subclasses:
    EhBlockingCache, EhcacheCache

    public abstract class AbstractEhcacheCache
    extends Object
    implements org.apache.ibatis.cache.Cache
    Cache adapter for Ehcache.
    Author:
    Simone Tripodi
    • Field Detail

      • CACHE_MANAGER

        protected static net.sf.ehcache.CacheManager CACHE_MANAGER
        The cache manager reference.
      • id

        protected final String id
        The cache id (namespace).
      • cache

        protected net.sf.ehcache.Ehcache cache
        The cache instance.
    • Constructor Detail

      • AbstractEhcacheCache

        public AbstractEhcacheCache​(String id)
        Instantiates a new abstract ehcache cache.
        Parameters:
        id - the chache id (namespace)
    • Method Detail

      • clear

        public void clear()
        Specified by:
        clear in interface org.apache.ibatis.cache.Cache
      • getId

        public String getId()
        Specified by:
        getId in interface org.apache.ibatis.cache.Cache
      • getObject

        public Object getObject​(Object key)
        Specified by:
        getObject in interface org.apache.ibatis.cache.Cache
      • getSize

        public int getSize()
        Specified by:
        getSize in interface org.apache.ibatis.cache.Cache
      • putObject

        public void putObject​(Object key,
                              Object value)
        Specified by:
        putObject in interface org.apache.ibatis.cache.Cache
      • removeObject

        public Object removeObject​(Object key)
        Specified by:
        removeObject in interface org.apache.ibatis.cache.Cache
      • unlock

        public void unlock​(Object key)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getReadWriteLock

        public ReadWriteLock getReadWriteLock()
        Specified by:
        getReadWriteLock in interface org.apache.ibatis.cache.Cache
      • setTimeToIdleSeconds

        public void setTimeToIdleSeconds​(long timeToIdleSeconds)
        Sets the time to idle for an element before it expires. Is only used if the element is not eternal.
        Parameters:
        timeToIdleSeconds - the default amount of time to live for an element from its last accessed or modified date
      • setTimeToLiveSeconds

        public void setTimeToLiveSeconds​(long timeToLiveSeconds)
        Sets the time to idle for an element before it expires. Is only used if the element is not eternal.
        Parameters:
        timeToLiveSeconds - the default amount of time to live for an element from its creation date
      • setMaxEntriesLocalHeap

        public void setMaxEntriesLocalHeap​(long maxEntriesLocalHeap)
        Sets the maximum objects to be held in memory (0 = no limit).
        Parameters:
        maxEntriesLocalHeap - The maximum number of elements in heap, before they are evicted (0 == no limit)
      • setMaxEntriesLocalDisk

        public void setMaxEntriesLocalDisk​(long maxEntriesLocalDisk)
        Sets the maximum number elements on Disk. 0 means unlimited.
        Parameters:
        maxEntriesLocalDisk - the maximum number of Elements to allow on the disk. 0 means unlimited.
      • setMemoryStoreEvictionPolicy

        public void setMemoryStoreEvictionPolicy​(String memoryStoreEvictionPolicy)
        Sets the eviction policy. An invalid argument will set it to null.
        Parameters:
        memoryStoreEvictionPolicy - a String representation of the policy. One of "LRU", "LFU" or "FIFO".