public Integer getInteger(String nodePath) { String nodeValue = getString(nodePath); return Strings.isNullOrEmpty(nodeValue) ? null : Integer.parseInt(nodeValue); }
/** * Get the job scheduler * @param appName the app name * @param jobClass the job class * @return the job scheduler */ public String getJobScheduler(String appName, String jobClass) { String jobSchedulerNode = ZkPaths.pathOfJobScheduler(appName, jobClass); if (!zk.client().checkExists(jobSchedulerNode)){ return null; } return zk.client().getString(jobSchedulerNode); }
@Override public Response<List<ServerInfo>> listServers() { try { List<String> servers = zk.client().gets(ZkPaths.SERVERS); if (CollectionUtil.isNullOrEmpty(servers)){ return Response.ok(Collections.<ServerInfo>emptyList()); } String leader = zk.client().getString(ZkPaths.LEADER); List<ServerInfo> serverInfos = Lists.newArrayListWithExpectedSize(servers.size()); ServerInfo serverInfo; for (String server: servers){ serverInfo = new ServerInfo(); if (Objects.equal(server, leader)){ serverInfo.setLeader(true); } serverInfo.setServer(server); serverInfo.setJobCount(jobServerDao.countJobsByServer(server).intValue()); serverInfos.add(serverInfo); } return Response.ok(serverInfos); } catch (Exception e){ Logs.error("failed to list servers, cause: {}", Throwables.getStackTraceAsString(e)); return Response.notOk("server.list.failed"); } }