/** * 查询用户是否在线 如果userId为空,返回false * * @param userId 用户id * @return true在线,false不在线 */ public boolean isOnline(String userId) { if (StringUtils.isEmpty(userId)) return false; String tenementId = SecurityContext.getTenementId(); Set<UserVo> vos = pool.get(tenementId); if (vos == null) return false; UserVo vo = new UserVo(); vo.setId(userId); return vos.contains(vo); }
/** * 从在线池中踢出用户 * * @param userId 用户id */ public void remove(String userId) { String tenementId = SecurityContext.getTenementId(); Set<UserVo> vos = pool.get(tenementId); if (vos != null) { UserVo vo = new UserVo(); vo.setId(userId); // 必须要求UserVo实现equals和hasCode方法,并通过id判断两个对象是否相等 vos.remove(vo); } }