【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
用了红薯大哥的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)
到底是哪里出了问题呢?
可以参考一下我之前弄的例子:
http://www.blogjava.net/paulwong/archive/2012/02/16/370119.html