/** * Create an ephemeral path * @param path path * @return the path created */ public String createEphemeral(String path) { return createEphemeral(path, (byte[]) null); }
/** * Create an ephemeral path * @param path path * @param data data * @return the path created */ public String createEphemeral(String path, Integer data) { return createEphemeral(path, data.toString()); }
/** * Create an ephemeral path * @param path path * @param obj object data * @return the path created */ public String createEphemeral(String path, Object obj) { return createEphemeral(path, JSON.toJSONString(obj)); }
@Override public void run() { ZkClient zk = client.getZk(); // register period, prevent client disconnects unexpected String appClientPath = ZkPaths.pathOfAppClient(client.getAppName(), Systems.hostPid()); if (!zk.checkExists(appClientPath)){ zk.createEphemeral(appClientPath); } } }, 1, 10, TimeUnit.SECONDS);
@Override public void run() { String server = serverHost.get(); // mkdirs /cluster/servers if necessary zk.client().mkdirs(ZkPaths.SERVERS); // register the server node String serverPath = ZkPaths.pathOfServer(server); if (!zk.client().checkExists(serverPath)){ String result = zk.client().createEphemeral(ZkPaths.pathOfServer(server)); Logs.info("server({}) registered: {}", server, result); } } }, 1, 5, TimeUnit.SECONDS);