我试图使用Java API从zookeeper的znode中获取数据。跟随下面的链接

https://www.tutorialspoint.com/zookeeper/zookeeper_api.htm
程式:ZKGetData.java

我得到这样的结果



如何单独获得“node4.test.com”。

最佳答案

强烈建议使用对ZK使用某些层,例如Apache Curator或ZkClient。
这是一个例子

CuratorFramework zkClient = CuratorFrameworkFactory.builder().connectString("localhost:2181").build();
zkClient.start();
boolean isExist = zkClient.checkExists().forPath("/myNode") != null;
if (isExist) {
    byte[] myNodeBytes = zkClient.getData().forPath("/myNode");
    if (myNodeBytes != null && myNodeBytes.length > 0) {
        System.out.println(new String(myNodeBytes));
    }
}
else {
    zkClient.create().withMode(CreateMode.PERSISTENT).forPath("/myNode", "foo".getBytes());
}

07-24 14:54