package com.sino.mis.incident.web.action;
import com.sino.common.util.BaseCache;
public class CacheManager {
private BaseCache newsCache;
private static CacheManager instance;
private static Object lock = new Object();
public CacheManager() {
//这个根据配置文件来,初始BaseCache而已;
newsCache = new BaseCache("RMA",1800);
}
public static CacheManager getInstance(){
if (instance == null){
synchronized( lock ){
if (instance == null){
instance = new CacheManager();
}
}
}
return instance;
}
public void putNews(String rma) {
// TODO 自动生成方法存根
newsCache.put("rmas",rma);
}
public void removeNews(String newsID) {
// TODO 自动生成方法存根
newsCache.remove(newsID);
}
public String getNews(String newsID) {
// TODO 自动生成方法存根
try {
return (String) newsCache.get(newsID);
} catch (Exception e) {
// TODO 自动生成 catch 块
System.out.println("getNews>>newsID["+newsID+"]>>"+e.getMessage());
String news = new String();
this.putNews(news);
return news;
}
}
public void removeAllNews() {
// TODO 自动生成方法存根
newsCache.removeAll();
}
}
package com.sino.common.util;
import java.util.Date;
import com.opensymphony.oscache.base.NeedsRefreshException;
import com.opensymphony.oscache.general.GeneralCacheAdministrator;
public class BaseCache extends GeneralCacheAdministrator {
//过期时间(单位为秒);
private int refreshPeriod;
//关键字前缀字符;
private String keyPrefix;
private static final long serialVersionUID = -4397192926052141162L;
public BaseCache(String keyPrefix,int refreshPeriod){
super();
this.keyPrefix = keyPrefix;
this.refreshPeriod = refreshPeriod;
}
//添加被缓存的对象;
public void put(String key,Object value){
this.putInCache(this.keyPrefix+"_"+key,value);
}
//删除被缓存的对象;
public void remove(String key){
this.flushEntry(this.keyPrefix+"_"+key);
}
//删除所有被缓存的对象;
public void removeAll(Date date){
this.flushAll(date);
}
public void removeAll(){
this.flushAll();
}
//获取被缓存的对象;
public Object get(String key) throws Exception{
try{
return this.getFromCache(this.keyPrefix+"_"+key,this.refreshPeriod);
} catch (NeedsRefreshException e) {
this.cancelUpdate(this.keyPrefix+"_"+key); throw e; }
}
}
System.out.print("进来几次");
if(log.isInfoEnabled()){
log.info("enter 'search' method");
}
System.out.println("#########"+CacheManager.getInstance().getNews("rmas").toString()+"#########");
if(!CacheManager.getInstance().getNews("rmas").toString().equals("")){
System.out.print("%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+CacheManager.getInstance().getNews("rmas").toString());
}
else{
this.setVendorId("看看有没有效果");
CacheManager.getInstance().putNews(vendorId);
CacheManager.getInstance().getNews("rmas").toString();
System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&"+CacheManager.getInstance().getNews("rmas").toString());
this.setVendorId("看看对不对");
CacheManager.getInstance().putNews(vendorId);
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+CacheManager.getInstance().getNews("rmas").toString());
}