- 浏览: 102885 次
- 性别:
- 来自: 深圳
最新评论
-
qq1988627:
gaolegao2008 写道说的是个啥。有冲突怎么办呢。也不 ...
xfire与spring组合创建webservice -
gaolegao2008:
说的是个啥。有冲突怎么办呢。也不说个解决的办法。唉
xfire与spring组合创建webservice -
xiaoliefengfeng:
加油,为码农争光啊
我要的其实并不多 你为什么拒绝我 -
qq1988627:
huchaoqqqq 写道用的ext几版本做的呢,有没有相关资 ...
第一次使用Ext写系统 -
huchaoqqqq:
用的ext几版本做的呢,有没有相关资料,我也想最近弄下ext ...
第一次使用Ext写系统
package com.byd.mes.util.cache; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.ehcache.Cache; import net.sf.ehcache.Element; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.byd.mes.util.BeanFactory; public interface CacheManager { /** * 回调函数 */ public interface CallBack{ Serializable callBack() throws Exception; } /** * 获取缓存值 * @param cacheKey * @return Object */ public Object get(String cacheKey); /** * 记录该缓存 * @param cacheKey * @param callBack * @return Object */ public Object cache(String cacheKey,CacheManager.CallBack callBack); /** * 根据KEY清空缓存 * @param cacheKey */ public void clear(String cacheKey); /** * 清空所有缓存 */ public void clearAllCache(); /** * 根据名称清空缓存 * @param tacticName */ public void clearCacheByTacticName(String tacticName); /** * 根据名称获取缓存 * @param tacticName * @return List */ public List<Map> getCache(String tacticName); } package com.byd.mes.util.cache; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.ehcache.Cache; import net.sf.ehcache.Element; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.byd.mes.bussiness.service.system.ext.CacheTacticHandle; public class CacheManagerImpl implements CacheManager{ private static final Log log = LogFactory.getLog(CacheManagerImpl.class); private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private Cache cache; private CacheTacticHandle cacheTacticHandle; @Override public Object get(String cacheKey){ return getCache().get(cacheKey); } @Override public Object cache(String cacheKey,CacheManager.CallBack callBack){ String k = StringUtils.left(cacheKey, cacheKey.indexOf("@")); if(!cacheKey.startsWith("system.cacheTacic") //强制开启缓存规则本身的缓存 && !cacheTacticHandle.isEnable(k) //用户是否开启了相关的缓存规则 ){ try{ log.debug("未开启缓存规则>>> "+cacheKey); return callBack.callBack(); }catch(Exception ex){ throw new RuntimeException(ex); } } Cache cache = getCache(); Element obj = cache.get(cacheKey); Object result = null; if(obj == null){ try{ result = callBack.callBack(); }catch(Exception ex){ throw new RuntimeException(ex); } Element element = new Element(cacheKey, result); log.debug("设置缓存[cacheKey:"+cacheKey+",cacheValue:"+result+"]"); getCache().put(element); } else{ result = obj.getValue(); log.debug("数据来自缓存>>>"+result); } return result; } @Override public void clear(String cacheKey){ log.debug("Clear cache >>>"+cacheKey); boolean b = getCache().remove(cacheKey); } @Override public void clearAllCache() { getCache().removeAll(); } @Override public void clearCacheByTacticName(String tacticName) { Cache cache = getCache(); List<String> keys = cache.getKeys(); for(String key : keys){ if(key.startsWith(tacticName)){ cache.remove(key); } } } @Override public List<Map> getCache(String tacticName) { List<Map> list = new ArrayList<Map>(); Cache cache = getCache(); List<String> keys = cache.getKeys(); for(String key : keys){ if(key.startsWith(tacticName)){ Map m = new HashMap(); Element e = cache.get(key); m.put("key", key); log.debug(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+e.getValue()); m.put("value", e.getValue().toString()); m.put("createTime", format.format(new Date(e.getCreationTime()))); list.add(m); } } return list; } public void setCache(Cache cache) { this.cache = cache; } public Cache getCache() { return cache; } public void setCacheTacticHandle(CacheTacticHandle cacheTacticHandle) { this.cacheTacticHandle = cacheTacticHandle; } public CacheTacticHandle getCacheTacticHandle() { return cacheTacticHandle; } } package com.byd.mes.util.cache; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.byd.mes.commons.exception.NestedRuntimeException; import com.byd.mes.view.action.ActionException; public class CacheException extends NestedRuntimeException { private static final Log log = LogFactory.getLog(CacheException.class); public CacheException(String errorCode, String message) { super(errorCode, message); } public CacheException(String errorCode,String message, Throwable cause) { super(errorCode,message, cause); } public CacheException(String errorCode, Map<String,Object> args, String message, Throwable cause) { super(errorCode,args,message, cause); } }
发表评论
-
进制转换
2014-08-29 18:55 911package com.byd.core; imp ... -
Java发送Email
2011-11-07 13:57 1003package byd.core; import java. ... -
天干地支算法
2011-10-10 11:44 1128/** * <url>http://en.w ... -
MD5
2011-09-27 09:34 715public class Encryptor { ... -
java运行可以执行文件
2011-08-15 10:44 732# package com.yymt.pf.rpc.loadb ... -
随记生成验证码
2011-08-06 09:28 932package com.hrm.houfei.utils; ... -
TLD生成
2011-08-06 09:16 964package j2ee.util; import ja ... -
页面解析
2011-08-06 09:13 837package com.atom.util; impor ... -
StringUtils 工具类
2011-08-06 09:11 1048package com.atom.util; impor ... -
重构HashTable
2011-08-06 09:03 873package com.atom.util; impor ... -
文件解析
2011-08-06 08:52 521package com.byd.portal.pagedesi ... -
工作流(workflow)
2011-08-06 08:39 1187package com.byd.mes.plugins.wor ... -
缓存处理工具类
2011-08-06 08:20 1package com.byd.mes.util.cache; ... -
Java执行javascript
2011-08-06 08:17 893package com.byd.mes.util.script ... -
文件处理工具类
2011-08-05 17:12 857/* * MyUtils.java * * */ ... -
Struts2文件上传下载
2011-08-05 16:42 1130package com.byd.action; impo ... -
对于不同数据库分页分查询析
2011-08-05 16:32 1012package zxc.utils; /** * 这 ... -
类转换
2011-08-05 16:30 774package zxc.utils; import ja ... -
数字转中文
2011-08-05 16:28 784package zxc.utils; import ja ... -
生成唯一流水码
2011-08-05 09:50 1012package com.byd.mes.util; im ...
相关推荐
Exoplayer配套缓存工具类,需要自己处理异步。
这是缓存工具包,对C#缓存做好很好的处理,是一个不错的工具类,可以直接应用与开发
Redis 缓存穿透的处理(缓存空值) Redis缓存击穿处理(互斥锁与逻辑删除方案) 封装为工具类,并适用于所有需要进行缓存穿透、击穿的方案,采用了泛型以及Lambda 函数式编程来完成编码
Exoplayer可以通过创建CacheDataSourceFactory然后引用SimpleCache来创建实例,从而实现缓存效果。
数据缓存的一个工具类,方便攻城狮对一些基本数据类型进行数据缓存,特别还加了对集合的缓存,更加方便对app数据处理
可以处理png格式图片,可以处理透明背景的图片resizePhotoForPng; 加载下载文件loadDownLoadResource; 缓存复杂文本文件cacheMultipartFile; 缓存url文件cacheUrlFile; 缓存MultipartFile复杂文本...
Java整理的基础工具类项目 ...读写锁控制强制读取缓存同步 线程池管理类 配置文件初始化启动读取 Cookie工具类 JavaBean工具类 ...Json对象转换工具类 ...地理坐标处理WGS-84坐标转换成百度坐标...LocaleDate 日期处理工具类
Android图片处理工具类,包括: 图片查看、照片墙、bitmap转存、圆角、剪切、图片加载缓存、图片压缩等 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,...
主要用来缓存处理大量的Json数组的工具类,比如:TCP编程时,客户端或服务端(等等)接收大量Json数据时,由于受到字节数组的长度问题,不能读取一个完整的json字符串,此方法就是用StringBuffer作为缓存处理得到...
Android快速开发工具类,包括:图片处理,缓存,网络判断,时间格式转换,SD卡相关等工具类。快速开发,能简便开发过程,节省时间。
包含了大量的开发常用手段如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,SOAP工具类,异步Task,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使...
1.验证手机号身份号等 2.缓存等 3.加密解密 4.时间处理等 5.xml处理等 6.图片处理等
java反射,设置属性值,获得属性,具有多个对象同事设置,缓存的处理,
读写锁控制强制读取缓存同步 线程池管理类 配置文件初始化启动读取 Cookie工具类 JavaBean工具类 IP工具类 Json对象转换工具类 MD5工具类 ...地理坐标处理WGS-84坐标转换成百度坐标工具类 ...LocaleDate 日期处理工具类
字符串处理工具类。 SystemIntentUtil.java 系统Intent工具类,常用的系统Intent跳转函数,如:打电话、发短信等。 示例代码: - NetWork HttpDataRequest ...
封装universal-image-loader,处理options,支持缓存,实现一行代码显示图片到Imageview
picasso 图片处理工具类 优缺点:对图片处理强大,取消已经不在视野范围的ImageView图片资源的加载(否则会导致图片错位), 使用4.0+系统上的HTTP缓存来代替磁盘缓存;只能得到结果,不能监听图片下载过程
CoolxLib主要模块功能:网络请求模块,数据库操作模块,万能工具类模块,上传头像模块,网络请求模块: 支持自动解析JSON数据 支持可配置缓存 支持网络异常自动重试机制 支持网络错误自动处理 无缝的支持GZIP来减少数据...