示例#1
0
 /**
  * 查询用户是否在线 如果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);
 }
示例#2
0
 /**
  * 从在线池中踢出用户
  *
  * @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);
   }
 }
示例#3
0
 /**
  * 添加在线用户
  *
  * @param userVo 用户信息
  */
 public void add(UserVo userVo) {
   String tenementId = SecurityContext.getTenementId();
   Set<UserVo> vos = pool.get(tenementId);
   if (vos == null) {
     vos = new HashSet<UserVo>();
     pool.put(tenementId, vos);
   }
   vos.add(userVo);
 }
示例#4
0
 /**
  * 查询所有的在线用户集合
  *
  * @return 如果没有返回null
  */
 public Set<UserVo> onlineUsers() {
   return pool.get(SecurityContext.getTenementId());
 }