浏览 3073 次
锁定老帖子 主题:项目中使用的ehCache的工具类
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-08-27
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(); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |