zoukankan      html  css  js  c++  java
  • 十九、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();
        }
    }
  • 相关阅读:
    java 策略模式
    Android使用ListView应该注意的地方
    Zxing android 解析流程
    java 工厂模式
    Java 单例模式
    TextView的属性详解
    java 装饰者模式
    CSS outline:none
    php数组
    利用Google API快速生成QR二维码
  • 原文地址:https://www.cnblogs.com/lay2017/p/10280188.html
Copyright © 2011-2022 走看看