jfinal启动netty获取Cache cache = Redis.use

在onJfinalStartAfter 启动一个线程  调用Redis.use时Cache 有时候返回的对象是null

--------------------------------------------

null

java.lang.NullPointerException

at com.cn.xp.social.group.utils.RedisUtils.removePreAdd(RedisUtils.java:73)

at com.cn.xp.social.group.netty.HeartBeatServerHandler.removeUserMap(HeartBeatServerHandler.java:67)


---------------------------------------------------------------

/**

* @Description: 移除需要通知密聊状态的队列

* @param userId

* @return

*/

public static void removePreAdd(String userId) {

Cache cache = Redis.use(Constant.MAIN_REDIS);

System.out.println(cache);

cache.del(RedisUtils.PRE_NOTICE + userId);

}




评论区

杜福忠

2018-05-31 20:26

先在main方法里面试试
http://www.jfinal.com/doc/8-4

JFinal

2018-05-31 21:59

方法名错了没被回调而已,onJfinalStartAfter 改成下面的方法名:
public void afterJFinalStart() {
Cache cache = Redis.use();
}

热门反馈

扫码入社