十九、curator recipes之PathChildrenCache

匿名 (未验证) 提交于 2019-12-02 23:05:13

简介

curator可以监听路径下子节点的变更操作,如创建节点,删除节点

官方文档:http://curator.apache.org/curator-recipes/path-cache.html

javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/cache/PathChildrenCache.html

代码示例

import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.framework.recipes.cache.PathChildrenCache; import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; import org.apache.curator.framework.recipes.cache.PathChildrenCacheListener; import org.apache.curator.retry.ExponentialBackoffRetry;  public class PathChildrenCacheDemo {     private static CuratorFramework client = CuratorFrameworkFactory.newClient("localhost:2181", new ExponentialBackoffRetry(3000, 1));     private static String path = "/path/test/0001";     static {         client.start();     }      public static void main(String[] args) throws Exception {         PathChildrenCache pathChildrenCache = new PathChildrenCache(client, path, true);         pathChildrenCache.getListenable().addListener(new PathChildrenCacheListener() {             @Override             public void childEvent(CuratorFramework curatorFramework, PathChildrenCacheEvent pathChildrenCacheEvent) throws Exception {                 System.out.println(pathChildrenCacheEvent.toString());             }         });         pathChildrenCache.start();         System.out.println("started");         Thread.sleep(2000);         System.out.println("sleep end");         client.create().forPath(path + "/000002");         client.delete().forPath(path + "/000002");         System.out.println("updated");         pathChildrenCache.close();         System.out.println("close");         Thread.sleep(50000);         client.close();     } }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!