2022
我们一起努力

ZooKeeper Java客户端API中如何获取子节点

ZooKeeper Java客户端API中如何获取子节点,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

获取节点的子节点

public class ZooKeeper_GetChildren_API_Sync_Usage implements Watcher {
	
	private static CountDownLatch connectedSemaphore = new CountDownLatch(1);
	private static ZooKeeper zk = null;
	
	public static void main (String[] args) throws Exception{
		
		String path = "/huangyi";
		zk = new ZooKeeper("202.201.13.55:2100",
				5000,
				new ZooKeeper_GetChildren_API_Sync_Usage());	
		connectedSemaphore.await();
		
		zk.create(path, "".getBytes(),
				Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
		zk.create(path+"/c1", "".getBytes(),
				Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
		
		List<String> childrenList = zk.getChildren(path, true);
		System.out.println(childrenList);
	
		zk.create(path+"/c2", "".getBytes(),
				Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
		
		Thread.sleep( Integer.MAX_VALUE);
	}
	
	public void process(WatchedEvent event) {
		if (KeeperState.SyncConnected == event.getState()) {
			if (EventType.None == event.getType() && null == event.getPath()) {
				connectedSemaphore.countDown();
			} else if (event.getType() == EventType.NodeChildrenChanged) {
				try {
					System.out.println("ReGet Child:" + zk.getChildren(event.getPath(), true));		
				} catch (Exception e) {}
			}
		}
	}
}

结果打印

ZooKeeper Java客户端API中如何获取子节点
[c1]
ReGet Child:[c1, c2]

关于ZooKeeper Java客户端API中如何获取子节点问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注云行业资讯频道了解更多相关知识。

赞(0)
文章名称:《ZooKeeper Java客户端API中如何获取子节点》
文章链接:https://www.fzvps.com/55856.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!