• 十九、curator recipes之PathChildrenCache


    简介

    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();
        }
    }
  • 相关阅读:
    linux下apache(httpd)安装部署
    基于redis分布式缓存实现(新浪微博案例)
    python--字典
    django(四)
    django(三)
    django(二)
    django(一)
    053(八十)
    053(七十九)
    053(七十八)
  • 原文地址:https://www.cnblogs.com/lay2017/p/10280188.html
Copyright © 2020-2023  润新知