标签:path exit source port 检查 conf dem 配置文件 文件
import java.util.List;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* <h5>描述:缓存管理类</h5>
*/
public class EhcacheService {
private static final String CACHE_NAME = "sysCache";
private static final String EHCACHE_CONFIG_NAME = "ehcache.xml";
private static CacheManager cacheManager;
static {
String classesPath = getClassesPath();
cacheManager = CacheManager.create(classesPath + EHCACHE_CONFIG_NAME);
// EhcacheService.putObjectCache(CACHE_NAME, "key01", 1000);
// EhcacheService.putObjectCache(CACHE_NAME, "key02", "abc");
// EhcacheService.putObjectCache(CACHE_NAME, "key03", 3.1415);
// EhcacheService.putObjectCache(CACHE_NAME, "key04", "哈哈");
// EhcacheService.putObjectCache(CACHE_NAME, "key05", "{\"id\":100}");
}
/**
* @功能描述: 添加一个缓存到指定的缓存中
* @param cache_name 配置文件中缓存的name
* @param key 键
* @param value 缓存值
*/
public synchronized static void putObjectCache(String cache_name, String key, Object value) {
Cache cache = getCache(cache_name);
if (null != cache) {
cache.remove(key);
Element elem = new Element(key, value);
cache.put(elem);
}
}
/**
* @功能描述: 从指定的缓存中获取一个缓存数据的值
* @param cache_name 配置文件中缓存的name
* @param key 键
* @return
*/
public static Object getObjectCache(String cache_name, String key) {
Cache cache = getCache(cache_name);
if (null != cache) {
Element element = cache.get(key);
// isExpired(Element element) 检查缓存是否过期
if (element != null && !cache.isExpired(element)) {
return element.getObjectValue();
}
}
return null;
}
/**
* <h5>功能:清空指定缓存的所有信息</h5>
* @param cache_name 配置文件中缓存的name
*/
public static void removeCache(String cache_name){
Cache cache = getCache(cache_name);
cache.removeAll();
}
/**
* <h5>功能:清空指定缓存的指定信息</h5>
* @param cache_name 配置文件中缓存的name
* @param key 键
* @return boolean 是否移除成功
*/
public static boolean removeCache(String cache_name, String key){
Cache cache = getCache(cache_name);
return cache.remove(key);
}
/**
* 停止缓存管理器
*/
public static void shutdown() {
if (null!= cacheManager)
cacheManager.shutdown();
}
// ==================== private method ====================
/**
* @功能描述: 获取 classes 文件夹路径
* @return classes绝对路径
*/
private static String getClassesPath(){
String classesPath=Thread.currentThread().getContextClassLoader().getResource("").getPath();
return classesPath;
}
/**
* @功能描述: 获取指定名称的缓存
* @param cache_name 配置文件中缓存的name
* @return Cache 缓存
*/
private static Cache getCache(String cache_name) {
return cacheManager.getCache(cache_name);
}
public static void main(String[] args) {
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(1));//user.dir指定了当前的路径
EhcacheService.putObjectCache(CACHE_NAME, "key01", 1000);
EhcacheService.putObjectCache(CACHE_NAME, "key02", "abc");
EhcacheService.putObjectCache(CACHE_NAME, "key03", 3.1415);
EhcacheService.putObjectCache(CACHE_NAME, "key04", "哈哈");
EhcacheService.putObjectCache(CACHE_NAME, "key05", "{\"id\":100}");
EhcacheService.putObjectCache(CACHE_NAME, "key04", "Hello World");
// removeCache(CACHE_NAME);
// removeCache(CACHE_NAME, "key05");
Cache demoCache = cacheManager.getCache(CACHE_NAME);
if (null != demoCache) {
List<?> demoList=demoCache.getKeys();
for(Object myKey:demoList){
Element myElement=demoCache.get(myKey);
System.out.println(myKey+"|"+myElement.getObjectValue());
}
}
EhcacheService.putObjectCache(CACHE_NAME, "key03", 3.1666);
System.out.println("---------"+EhcacheService.getObjectCache(CACHE_NAME, "key03"));
System.exit(0);
}
}
标签:path exit source port 检查 conf dem 配置文件 文件
原文地址:http://blog.51cto.com/1197822/2318190