您的位置:首页 > 其它

Curator教程(一)watcher监听

2018-12-06 12:30 232 查看

1.watcher方式一(监听当前节点发生变更)

String address = "mini1:2181,mini2:2181,mini3:2181";
 RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 10);
 
CuratorFramework client = CuratorFrameworkFactory.newClient(address, new ExponentialBackoffRetry(1000, 3));

client.start();

//创建节点watcher监听
 final NodeCache cache = new NodeCache(client, "/super", false);
 cache.start(true);
 cache.getListenable().addListener(new NodeCacheListener() {

public void nodeChanged() throws Exception {
System.out.println(cache.getCurrentData().getPath());
System.out.println(cache.getCurrentData().getStat());
}
});

2.watcher方式二(监听当前节点的子节点发生变更)

String address = "mini1:2181,mini2:2181,mini3:2181";
 RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 10);
 
CuratorFramework client = CuratorFrameworkFactory.newClient(address, new ExponentialBackoffRetry(1000, 3));

client.start();

//创建子节点watcher监听
 PathChildrenCache cache = new PathChildrenCache(client, "/super", true);
 cache.start(StartMode.POST_INITIALIZED_EVENT);
 cache.getListenable().addListener(new PathChildrenCacheListener() {
public void childEvent(CuratorFramework cf, PathChildrenCacheEvent event) throws Exception {
System.out.println(event.getType());
}
});
 Thread.sleep(Long.MAX_VALUE);



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  curator zookeeper watcher