zoukankan      html  css  js  c++  java
  • Curator框架的使用

    Curator框架的目的是减少用户的复杂度,毕竟原生的Zookeeper难以使用。

    这里举一个使用例子。

    第一步:建立连接

    // 以下代码与192.168.1.101:2181建立了连接
    CuratorFramework client = CuratorFrameworkFactory.newClient("192.168.1.101:2181", new ExponentialBackoffRetry(1000, 3));
    client.start();

    这里的ExponentialBackoffRetry的含义是指数增长的重试间隔。根据这里的参数,第一次失败重试休息1000毫秒,第二次重试休息1000毫秒~3000毫秒,第三次失败重试休息1000毫秒~7000毫秒。这样指数增长。

    第二步:监听节点下的数据

    PathChildrenCache cache = new PathChildrenCache(client, "/test", true);
    cache.start();
    cache.getListenable().addListener(new MyListener(observer));

    这样就可以监听test节点下的所有节点了。

    第三步:实现事件处理

    实现事件处理,只需实现PathChildrenCacheListener接口即可,示例如下。

    public class MyListener implements PathChildrenCacheListener {
      @Override
      public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception {
        switch (event.getType()) {
          case CHILD_ADDED: {
            // 新的节点创建了
            ...
            break;
          }
          case CHILD_UPDATED: {
            // 节点数据更新了
            ...
            break;
          }
          case CHILD_REMOVED: {
            // 节点删掉了
            ...
            break;
          }
        }
      }
    }

  • 相关阅读:
    如何用ST-LINK给STM32下载HEX文件
    快恢复二极管和肖特基二极管的区别和是否能够替代使用?
    Python环境变量配置
    IAP笔记
    如何将24位RGB颜色转换16位RGB颜色
    内网外网同时使用
    bootstraptable 服务端分页问题
    weblogic奇葩问题
    SSM框架
    java通过poi操作excel
  • 原文地址:https://www.cnblogs.com/caipc/p/6103915.html
Copyright © 2011-2022 走看看