首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

项目中应用的ehCache的工具类

2012-11-09 
项目中使用的ehCache的工具类import java.io.Serializableimport org.apache.commons.logging.Logimport

项目中使用的ehCache的工具类

import java.io.Serializable;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import net.sf.ehcache.Cache;import net.sf.ehcache.CacheException;import net.sf.ehcache.CacheManager;import net.sf.ehcache.Element;/** * 缓存管理器 * @author dengmin */public class UICacheManager {final static Log log = LogFactory.getLog(UICacheManager.class);public static CacheManager manager;static{try {manager = CacheManager.getInstance();if(manager==null)manager = CacheManager.create();} catch (CacheException e) {log.fatal("Initialize cache manager failed.", e);}}/** * 从缓存中获取对象 * @param cache_name * @param key * @return */public static Serializable getObjectCached(String cache_name, Serializable key){Cache cache = getCache(cache_name);if(cache!=null){try {Element elem = cache.get(key);if(elem!=null && !cache.isExpired(elem))return elem.getValue();} catch (Exception e) {log.error("Get cache("+cache_name+") of "+key+" failed.", e);}}return null;}/** * 把对象放入缓存中 * @param cache_name * @param key * @param value */public synchronized static void putObjectCached(String cache_name, Serializable key, Serializable value){Cache cache = getCache(cache_name);if(cache!=null){try {cache.remove(key);Element elem = new Element(key, value);cache.put(elem);} catch (Exception e) {log.error("put cache("+cache_name+") of "+key+" failed.", e);}}}/** * 获取指定名称的缓存 * @param arg0 * @return * @throws IllegalStateException */public static Cache getCache(String arg0) throws IllegalStateException {return manager.getCache(arg0);}/** * 获取缓冲中的信息 * @param cache * @param key * @return * @throws IllegalStateException * @throws CacheException */public static Element getElement(String cache, Serializable key) throws IllegalStateException, CacheException{Cache cCache = getCache(cache);return cCache.get(key);}/** * 停止缓存管理器 */public static void shutdown(){if(manager!=null)manager.shutdown();}}

热点排行