package egovframework.rte.fdl.xml.ehcache; import net.sf.ehcache.*; import java.io.Serializable; import java.net.*; import org.apache.log4j.Logger; import egovframework.rte.fdl.xml.XmlLog; public class CacheImpl { private static CacheManager manager; private static Cache cache; Logger logger = XmlLog.getLogger(CacheImpl.class); public CacheImpl() { // Default constructor. } public CacheManager getCacheManager() { try { URL url = getClass().getResource("xml/ehcache.xml"); logger.debug(url.toString()); manager = CacheManager.create(url); } catch (CacheException e) { e.printStackTrace(); } return manager; } public CacheManager getCacheManager(String configFilePath) { try { manager = CacheManager.create(configFilePath); logger.debug("Cache Name:"+manager.getName()); } catch (CacheException e) { e.printStackTrace(); } return manager; } /** * Get cache using key stored name. * @param cacheName * @return */ public Cache getCache(String cacheName) { cache = (Cache)manager.getCache(cacheName); return cache; } /** * * @param name * @param value */ public void storeCache(String name , Serializable value) throws CacheException { Element element = new Element(name, value); cache.put(element); } public Serializable retrieveCache(String name) throws CacheException { return cache.get(name); } }