?? ehcache.java
字號:
package com.qrsx.exam.cache.ehcache;
import java.io.IOException;
import java.io.Serializable;
import java.util.Properties;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheException;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* 緩存操作接口的實現類
*
* @author galaxy
*
*/
public class EHCache implements com.qrsx.exam.cache.Cache {
// 缺省的配置緩存名稱的屬性名
public static final String CACHE_NAME = "cachename";
// 缺省的緩存名稱
public static final String DEFAULT_CACHE_NAME = "cache";
// 全局的緩存對象的實例
private Cache cache;
/**
* 初始化方法
*/
public void initialize(Properties props) {
try {
// 得到緩存管理對象的實例
CacheManager manager = CacheManager.getInstance();
// 得到緩存的名稱
String cachename = DEFAULT_CACHE_NAME;
if (props != null) {
cachename = props.getProperty(CACHE_NAME, DEFAULT_CACHE_NAME);
}
// 取得緩存對象的實例
cache = manager.getCache(cachename);
} catch (CacheException e) {
e.printStackTrace();
}
}
/**
* 將一個可序列化的對象保存到緩存對象中
*/
public void put(String name, Serializable obj) {
Element ele = new Element(name, obj);
cache.putQuiet(ele);
}
/**
* 得到已經保存的緩存對象的實例
*/
public Object get(String name) {
try {
Element ele = cache.get(name);
if (ele == null)
return null;
return ele.getValue();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (CacheException e) {
e.printStackTrace();
}
return null;
}
/**
* 清除已經保存到緩存中的實例對象
*/
public void clear(String name) {
cache.remove(name);
}
/**
* 清除所有的已經保存的緩存對象的實例
*/
public void clearAll() {
try {
cache.removeAll();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -