以上代碼將載入EHCache的配置文件
將數據存入Cache的實現如下
public static void put(String cachename
manager
}
在put()操作中
public static Serializable get(String cachename
try {
Element e=manager
if(e==null)return null;
return e
} catch (IllegalStateException e) {
e
} catch (CacheException e) {
e
}
return null;
}
有了以上的工具類
在為方法加入緩存時
本小節介紹基於動態代理的緩存解決方案
注意
現在
public class HeavyMethodDemo {
public String heavyMethod(int num) {
StringBuffer sb = new StringBuffer()
//對 num 進行因式分解
return sb
}
}
使用CGLIB生成動態代理類的方法攔截器的邏輯如下
public class CglibHeavyMethodInterceptor implements MethodInterceptor {
HeavyMethodDemo real=new HeavyMethodDemo()
@Override
public Object intercept(Object arg
MethodProxy arg
String v=(String)EHCacheUtil
if(v==null){
v=real
EHCacheUtil
}
return v;
}
//省略其他代碼
返回目錄
編輯推薦
Java程序設計培訓視頻教程
J
J
Visual C++音頻/視頻技術開發與實戰
Oracle索引技術
ORACLE
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27803.html