private boolean hasAvailableClients(String appName, Long jobId){ List<String> clients = clientCluster.getAliveClients(appName); if (CollectionUtil.isNullOrEmpty(clients)){ return false; } // has alive clients, but all aren't assign Response<Set<String>> assignsResp = jobService.listSimpleJobAssigns(jobId); if (!assignsResp.isSuccess()){ return true; } Set<String> assigns = assignsResp.getData(); if (!CollectionUtil.isNullOrEmpty(assigns)){ for (String client : clients){ if (assigns.contains(client.split(":")[0])){ return true; } } return false; } return true; }