用了红薯大哥的EhCache缓存代码,调试后出错,各位大侠能否给一个些建议?? 400 报错
用了红薯大哥的EhCache缓存代码,调试后出错,各位大侠能否给一个些建议?
用了QueryHelper中的query_cache
/**
* 支持缓存的对象查询
* @param <T>
* @param beanClass
* @param cache_region
* @param key (Serializable) result
* @param sql
* @param params
* @return
*/
public static <T> List<T> query_cache(Class<T> beanClass, String cache_region, Serializable key, String sql, Object...params) {
List<T> objs = (List<T>)CacheManager.get(cache_region, key);
if(objs == null){
objs = query(beanClass, sql, params);
CacheManager.set(cache_region, key, (Serializable)objs);
}
return objs;
}
调试以下代码
public static void FindAlljsonArray() throws Exception {
// 查询条件
String sql = "select Id,MenuName from Menu where Id!=?";
Object[] params = new Object[] {0};
String key="MenuCachekey";
List<Menu> results = null;
results = (ArrayList<Menu>) QueryHelper.query_cache(Menu.class,"reginon1",(Serializable) key,sql, params);
JSONArray jsonArray = JSONArray.fromObject(results);
System.out.println(jsonArray);
results = null;
jsonArray.clear();
}
结果显示是
java.lang.NullPointerException
at cache.EhCacheProvider.buildCache(EhCacheProvider.java:34)
at cache.EhCacheProvider.buildCache(EhCacheProvider.java:1)
at cache.CacheManager._GetCache(CacheManager.java:35)
at cache.CacheManager.get(CacheManager.java:46)
at DBPool.QueryHelper.query_cache(QueryHelper.java:137)
at dao.DBtest.FindAlljsonArray(DBtest.java:30)
到底是哪里出了问题呢?
红薯大哥能否给一些提示呢??######缓存没有初始化,oschina的一些类只是提供一个参考思路,不要直接使用
######恩,知道,现在只是往这缓存这方面的初级学习,所以只有先拿来做一下调试,然后学习参考你的思路######@JavaHouse QueryHelper这个类能贴下吗?######到代码分享里搜索一下######这个类站内里面有######thx######
可以参考一下我之前弄的例子:
http://www.blogjava.net/paulwong/archive/2012/02/16/370119.html
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。