用了红薯大哥的EhCache缓存代码,调试后出错,各位大侠能否给一个些建议?

JavaHouse 发布于 2012/03/21 10:14
阅读 889
收藏 0

用了红薯大哥的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)

到底是哪里出了问题呢?
 

 

加载中
0
JavaHouse
JavaHouse
红薯大哥能否给一些提示呢??
0
红薯
红薯
缓存没有初始化,oschina的一些类只是提供一个参考思路,不要直接使用
0
JavaHouse
JavaHouse
恩,知道,现在只是往这缓存这方面的初级学习,所以只有先拿来做一下调试,然后学习参考你的思路
0
滴滴丶哔哔
滴滴丶哔哔
@JavaHouse  QueryHelper这个类能贴下吗?
红薯
红薯
到代码分享里搜索一下
0
JavaHouse
JavaHouse
这个类站内里面有
返回顶部
顶部