Class MCExoCache<K extends Serializable,​V>

  • All Implemented Interfaces:
    org.exoplatform.services.cache.ExoCache<K,​V>

    public class MCExoCache<K extends Serializable,​V>
    extends Object
    implements org.exoplatform.services.cache.ExoCache<K,​V>
    An ExoCache implementation based on spymemcached.
    Version:
    $Id$
    Author:
    Nicolas Filotto
    • Field Detail

      • cache

        protected final net.spy.memcached.MemcachedClient cache
    • Constructor Detail

      • MCExoCache

        public MCExoCache​(org.exoplatform.container.ExoContainerContext ctx,
                          org.exoplatform.services.cache.ExoCacheConfig config,
                          net.spy.memcached.MemcachedClient cache,
                          long expirationTimeout)
    • Method Detail

      • addCacheListener

        public void addCacheListener​(org.exoplatform.services.cache.CacheListener<? super K,​? super V> listener)
        Specified by:
        addCacheListener in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • clearCache

        public void clearCache()
        Specified by:
        clearCache in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • get

        public V get​(Serializable name)
        Specified by:
        get in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getCacheHit

        public int getCacheHit()
        Specified by:
        getCacheHit in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getCacheMiss

        public int getCacheMiss()
        Specified by:
        getCacheMiss in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getCacheSize

        public int getCacheSize()
        Specified by:
        getCacheSize in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getCachedObjects

        public List<V> getCachedObjects()
        Specified by:
        getCachedObjects in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getLabel

        public String getLabel()
        Specified by:
        getLabel in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getName

        public String getName()
        Specified by:
        getName in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • isDistributed

        public boolean isDistributed()
      • isLogEnabled

        public boolean isLogEnabled()
        Specified by:
        isLogEnabled in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • isReplicated

        public boolean isReplicated()
      • putOnly

        protected void putOnly​(String namespace,
                               K key,
                               V value)
        Only puts the data into the cache nothing more
      • removeCachedObjects

        public List<V> removeCachedObjects()
        Specified by:
        removeCachedObjects in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • select

        public void select​(org.exoplatform.services.cache.CachedObjectSelector<? super K,​? super V> selector)
                    throws Exception
        Specified by:
        select in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
        Throws:
        Exception
      • setDistributed

        public void setDistributed​(boolean distributed)
      • setLabel

        public void setLabel​(String label)
        Specified by:
        setLabel in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • setLogEnabled

        public void setLogEnabled​(boolean logEnabled)
        Specified by:
        setLogEnabled in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • setName

        public void setName​(String name)
        Specified by:
        setName in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • setReplicated

        public void setReplicated​(boolean replicated)
      • onExpire

        public void onExpire​(K key,
                             V obj)
        Specified by:
        onExpire in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • onRemove

        public void onRemove​(K key,
                             V obj)
        Specified by:
        onRemove in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • onPut

        public void onPut​(K key,
                          V obj)
        Specified by:
        onPut in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • onGet

        public void onGet​(K key,
                          V obj)
        Specified by:
        onGet in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • onClearCache

        public void onClearCache()
        Specified by:
        onClearCache in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getExpirationTimeout

        public long getExpirationTimeout()
      • setExpirationTimeout

        public void setExpirationTimeout​(long expirationTimeout)
      • setMaxSize

        public void setMaxSize​(int max)
        Specified by:
        setMaxSize in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • setLiveTime

        public void setLiveTime​(long period)
        Specified by:
        setLiveTime in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getMaxSize

        public int getMaxSize()
        Specified by:
        getMaxSize in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>
      • getLiveTime

        public long getLiveTime()
        Specified by:
        getLiveTime in interface org.exoplatform.services.cache.ExoCache<K extends Serializable,​V>