[jboss-cvs] CacheBenchFwk/cache-products/ehcache-1.2.4/src/org/cachebench/cachewrappers ...

Manik Surtani manik at jboss.org
Thu May 17 04:13:45 EDT 2007


  User: msurtani
  Date: 07/05/17 04:13:45

  Added:       cache-products/ehcache-1.2.4/src/org/cachebench/cachewrappers 
                        EHCacheWrapper.java
  Log:
  fixed stuff
  
  Revision  Changes    Path
  1.1      date: 2007/05/17 08:13:45;  author: msurtani;  state: Exp;CacheBenchFwk/cache-products/ehcache-1.2.4/src/org/cachebench/cachewrappers/EHCacheWrapper.java
  
  Index: EHCacheWrapper.java
  ===================================================================
  package org.cachebench.cachewrappers;
  
  import net.sf.ehcache.Cache;
  import net.sf.ehcache.CacheManager;
  import net.sf.ehcache.Element;
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  import org.cachebench.SerializableCacheWrapper;
  
  import java.io.Serializable;
  import java.net.URL;
  import java.util.Properties;
  
  
  /**
   * An implementation of SerializableCacheWrapper that uses EHCache as an underlying implementation.
   *
   * @author Manik Surtani (manik at surtani.org)
   * @version $Id: EHCacheWrapper.java,v 1.1 2007/05/17 08:13:45 msurtani Exp $
   */
  public class EHCacheWrapper implements SerializableCacheWrapper
  {
     private CacheManager manager;
     private Cache cache;
     private Log logger = LogFactory.getLog("org.cachebench.cachewrappers.EHCacheWrapper");
  
     /* (non-Javadoc)
     * @see org.cachebench.CacheWrapper#init(java.util.Properties)
     */
     public void init(Properties parameters) throws Exception
     {
        logger.debug("Initializing the cache");
        URL url = getClass().getResource(parameters.getProperty("config"));
        manager = CacheManager.create(url);
        logger.debug("Finish Initializing the cache");
     }
  
     /* (non-Javadoc)
     * @see org.cachebench.CacheWrapper#setUp()
     */
     public void setUp() throws Exception
     {
        CacheManager manager = CacheManager.create();
        manager.addCache("cache");
        cache = manager.getCache("cache");
     }
  
     /* (non-Javadoc)
     * @see org.cachebench.CacheWrapper#tearDown()
     */
     public void tearDown() throws Exception
     {
        manager.shutdown();
     }
  
     /* (non-Javadoc)
     * @see org.cachebench.SerializableCacheWrapper#putSerializable(java.io.Serializable, java.io.Serializable)
     */
     public void putSerializable(Serializable key, Serializable value) throws Exception
     {
        Element element = new Element(key, value);
        cache.put(element);
     }
  
     /* (non-Javadoc)
     * @see org.cachebench.SerializableCacheWrapper#getSerializable(java.io.Serializable)
     */
     public Object getSerializable(Serializable key) throws Exception
     {
        return cache.get(key);
     }
  
     public void empty() throws Exception
     {
        cache.removeAll();
     }
  
     /* (non-Javadoc)
     * @see org.cachebench.CacheWrapper#put(java.lang.Object, java.lang.Object)
     */
     public void put(Object key, Object value) throws Exception
     {
        logger.warn("Put: Does not deal with non-Serializables, should not be called.");
     }
  
     /* (non-Javadoc)
     * @see org.cachebench.CacheWrapper#get(java.lang.Object)
     */
     public Object get(Object key) throws Exception
     {
        logger.warn("Get: Does not deal with non-Serializables, should not be called.");
        return null;
     }
  
     public int getNumMembers()
     {
        // EHCache does not expose a mechanism for providing the number of cluster members, as far as I can see ... !
        return -1;
     }
  
     public String getInfo()
     {
        return cache.getKeys().toString();
     }
  }
  
  
  



More information about the jboss-cvs-commits mailing list