test_class.declarator: LOGGER = LoggerFactory.getLogger(AccountServiceRedisImplTest.class)
test_class.modifier: private final static
test_class.original_string: private final static Logger LOGGER = LoggerFactory.getLogger(AccountServiceRedisImplTest.class);
test_class.type: Logger
test_class.var_name: LOGGER
test_class.declarator: accountService
test_class.modifier: @Autowired
      private
test_class.original_string: @Autowired
      private AccountService accountService ;
test_class.type: AccountService
test_class.var_name: accountService
test_class.file: cim-forward-route/src/test/java/com/crossoverjie/cim/route/service/impl/AccountServiceRedisImplTest.java
test_class.identifier: AccountServiceRedisImplTest
test_case.body: @Test
      public void loadRouteRelated() throws Exception {
          for (int i = 0; i < 100; i++) {
  
              Map<Long, CIMServerResVO> longCIMServerResVOMap = accountService.loadRouteRelated();
              LOGGER.info("longCIMServerResVOMap={},cun={}" , JSON.toJSONString(longCIMServerResVOMap),i);
          }
          TimeUnit.SECONDS.sleep(10);
      }
test_case.class_method_signature: AccountServiceRedisImplTest.loadRouteRelated()
test_case.full_signature: @Test public void loadRouteRelated()
test_case.identifier: loadRouteRelated
test_case.invocations: loadRouteRelated info toJSONString sleep
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void loadRouteRelated()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(AccountServiceRedisImpl.class)
focal_class.modifier: private final static
focal_class.original_string: private final static Logger LOGGER = LoggerFactory.getLogger(AccountServiceRedisImpl.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: redisTemplate
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private RedisTemplate<String, String> redisTemplate;
focal_class.type: RedisTemplate<String, String>
focal_class.var_name: redisTemplate
focal_class.declarator: userInfoCacheService
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private UserInfoCacheService userInfoCacheService;
focal_class.type: UserInfoCacheService
focal_class.var_name: userInfoCacheService
focal_class.declarator: okHttpClient
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private OkHttpClient okHttpClient;
focal_class.type: OkHttpClient
focal_class.var_name: okHttpClient
focal_class.file: cim-forward-route/src/main/java/com/crossoverjie/cim/route/service/impl/AccountServiceRedisImpl.java
focal_class.identifier: AccountServiceRedisImpl
focal_class.interfaces: implements AccountService
focal_class.class_method_signature: AccountServiceRedisImpl.register(RegisterInfoResVO info)
focal_class.full_signature: @Override public RegisterInfoResVO register(RegisterInfoResVO info)
focal_class.identifier: register
focal_class.modifiers: @Override public
focal_class.parameters: (RegisterInfoResVO info)
focal_class.return: RegisterInfoResVO
focal_class.signature: RegisterInfoResVO register(RegisterInfoResVO info)
focal_class.class_method_signature: AccountServiceRedisImpl.login(LoginReqVO loginReqVO)
focal_class.full_signature: @Override public StatusEnum login(LoginReqVO loginReqVO)
focal_class.identifier: login
focal_class.modifiers: @Override public
focal_class.parameters: (LoginReqVO loginReqVO)
focal_class.return: StatusEnum
focal_class.signature: StatusEnum login(LoginReqVO loginReqVO)
focal_class.class_method_signature: AccountServiceRedisImpl.saveRouteInfo(LoginReqVO loginReqVO, String msg)
focal_class.full_signature: @Override public void saveRouteInfo(LoginReqVO loginReqVO, String msg)
focal_class.identifier: saveRouteInfo
focal_class.modifiers: @Override public
focal_class.parameters: (LoginReqVO loginReqVO, String msg)
focal_class.return: void
focal_class.signature: void saveRouteInfo(LoginReqVO loginReqVO, String msg)
focal_class.class_method_signature: AccountServiceRedisImpl.loadRouteRelated()
focal_class.full_signature: @Override public Map<Long, CIMServerResVO> loadRouteRelated()
focal_class.identifier: loadRouteRelated
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Map<Long, CIMServerResVO>
focal_class.signature: Map<Long, CIMServerResVO> loadRouteRelated()
focal_class.class_method_signature: AccountServiceRedisImpl.loadRouteRelatedByUserId(Long userId)
focal_class.full_signature: @Override public CIMServerResVO loadRouteRelatedByUserId(Long userId)
focal_class.identifier: loadRouteRelatedByUserId
focal_class.modifiers: @Override public
focal_class.parameters: (Long userId)
focal_class.return: CIMServerResVO
focal_class.signature: CIMServerResVO loadRouteRelatedByUserId(Long userId)
focal_class.class_method_signature: AccountServiceRedisImpl.parseServerInfo(Map<Long, CIMServerResVO> routes, String key)
focal_class.full_signature: private void parseServerInfo(Map<Long, CIMServerResVO> routes, String key)
focal_class.identifier: parseServerInfo
focal_class.modifiers: private
focal_class.parameters: (Map<Long, CIMServerResVO> routes, String key)
focal_class.return: void
focal_class.signature: void parseServerInfo(Map<Long, CIMServerResVO> routes, String key)
focal_class.class_method_signature: AccountServiceRedisImpl.pushMsg(CIMServerResVO cimServerResVO, long sendUserId, ChatReqVO groupReqVO)
focal_class.full_signature: @Override public void pushMsg(CIMServerResVO cimServerResVO, long sendUserId, ChatReqVO groupReqVO)
focal_class.identifier: pushMsg
focal_class.modifiers: @Override public
focal_class.parameters: (CIMServerResVO cimServerResVO, long sendUserId, ChatReqVO groupReqVO)
focal_class.return: void
focal_class.signature: void pushMsg(CIMServerResVO cimServerResVO, long sendUserId, ChatReqVO groupReqVO)
focal_class.class_method_signature: AccountServiceRedisImpl.offLine(Long userId)
focal_class.full_signature: @Override public void offLine(Long userId)
focal_class.identifier: offLine
focal_class.modifiers: @Override public
focal_class.parameters: (Long userId)
focal_class.return: void
focal_class.signature: void offLine(Long userId)
focal_method.body: @Override
      public Map<Long, CIMServerResVO> loadRouteRelated() {
  
          Map<Long, CIMServerResVO> routes = new HashMap<>(64);
  
  
          RedisConnection connection = redisTemplate.getConnectionFactory().getConnection();
          ScanOptions options = ScanOptions.scanOptions()
                  .match(ROUTE_PREFIX + "*")
                  .build();
          Cursor<byte[]> scan = connection.scan(options);
  
          while (scan.hasNext()) {
              byte[] next = scan.next();
              String key = new String(next, StandardCharsets.UTF_8);
              LOGGER.info("key={}", key);
              parseServerInfo(routes, key);
  
          }
          try {
              scan.close();
          } catch (IOException e) {
              LOGGER.error("IOException", e);
          }
  
          return routes;
      }
focal_method.class_method_signature: AccountServiceRedisImpl.loadRouteRelated()
focal_method.full_signature: @Override public Map<Long, CIMServerResVO> loadRouteRelated()
focal_method.identifier: loadRouteRelated
focal_method.invocations: getConnection getConnectionFactory build match scanOptions scan hasNext next info parseServerInfo close error
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Map<Long, CIMServerResVO>
focal_method.signature: Map<Long, CIMServerResVO> loadRouteRelated()