需求: 手机app在线用户心跳包请求数据库在线用户数据
提问:token失效的时候,能否自动更改该用户的数据库在线状态?
token没有失效的代码:
public static boolean verifyUserToken (String userToken){ boolean verReturn = false; Map<String, Object> ret = new HashMap<String, Object>(); /* true:登录没有失效 */
String cacheUserToken = (null == CacheKit.get("UserTokenFilter", userToken)?
"":CacheKit.get("UserTokenFilter", userToken)).toString();
if (userToken.equals(cacheUserToken)){
String userId[] = userToken.split(":");
new ERPUser().findById(userId[0]).set("onLine", "1").update();
verReturn = true;
} else {
verReturn = false;
}
return verReturn;
}
token失效的代码, 最好不用手动请求后台接口就可以自己调用 各位大神有没有好方法?
这个分享是否可以解决你的问题: http://www.jfinal.com/share/37######回复 @JFinal : 棒!######回复 @zhulint : 向 cache 中注册一个监听器即可######詹哥,不是定时器,是EhCachePlugin的缓存清除问题。 EhCachePlugin在清除缓存的时候执行sql语句。######詹哥,谢谢你 O(∩_∩)O######你的设计有问题,不应该把用户在线状态放在用户表里面,不合理!######要单独建一个表吗######用户在线列表放在缓存里面就好,缓存的有效期为session的时间,每次请求进来延长一下缓存数据的有效期######厉害!!!谢啦!!☆⌒(*^-゜)v
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。