org.I0Itec.zkclient.ZkClient.subscribeChildChanges()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(164)

本文整理了Java中org.I0Itec.zkclient.ZkClient.subscribeChildChanges()方法的一些代码示例,展示了ZkClient.subscribeChildChanges()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZkClient.subscribeChildChanges()方法的具体详情如下:
包路径:org.I0Itec.zkclient.ZkClient
类名称:ZkClient
方法名:subscribeChildChanges

ZkClient.subscribeChildChanges介绍

暂无

代码示例

代码示例来源:origin: ltsopensource/light-task-scheduler

protected List<String> addTargetChildListener(String path, IZkChildListener iZkChildListener) {
  return zkClient.subscribeChildChanges(path, iZkChildListener);
}

代码示例来源:origin: ltsopensource/light-task-scheduler

protected List<String> addTargetChildListener(String path, IZkChildListener iZkChildListener) {
  return zkClient.subscribeChildChanges(path, iZkChildListener);
}

代码示例来源:origin: crossoverJie/cim

/**
 * 监听事件
 *
 * @param path
 */
public void subscribeEvent(String path) {
  zkClient.subscribeChildChanges(path, new IZkChildListener() {
    @Override
    public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
      logger.info("清除/更新本地缓存 parentPath=【{}】,currentChilds=【{}】", parentPath,currentChilds.toString());
      //更新所有缓存/先删除 再新增
      serverCache.updateCache(currentChilds) ;
    }
  });
}

代码示例来源:origin: networknt/light-4j

@Override
public List<String> subscribeChildChanges(String path, IZkChildListener listener) {
  return zkClient.subscribeChildChanges(path, listener);
}

代码示例来源:origin: crossoverJie/cim

/**
 * 监听事件
 *
 * @param path
 */
public void subscribeEvent(String path) {
  zkClient.subscribeChildChanges(path, new IZkChildListener() {
    @Override
    public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
      logger.info("清除/更新本地缓存 parentPath=【{}】,currentChilds=【{}】", parentPath,currentChilds.toString());
      //更新所有缓存/先删除 再新增
      serverCache.updateCache(currentChilds) ;
    }
  });
}

代码示例来源:origin: apache/incubator-dubbo

public List<String> subscribeChildChanges(String path, final IZkChildListener listener) {
  Assert.notNull(client, new IllegalStateException("Zookeeper is not connected yet!"));
  return client.subscribeChildChanges(path, listener);
}

代码示例来源:origin: apache/incubator-dubbo

public List<String> subscribeChildChanges(String path, final IZkChildListener listener) {
  Assert.notNull(client, new IllegalStateException("Zookeeper is not connected yet!"));
  return client.subscribeChildChanges(path, listener);
}

代码示例来源:origin: weibocom/motan

zkClient.subscribeChildChanges(serverTypePath, zkChildListener);
  LoggerUtil.info(String.format("[ZookeeperRegistry] subscribe service: path=%s, info=%s", ZkUtils.toNodePath(url, ZkNodeType.AVAILABLE_SERVER), url.toFullStr()));
} catch (Throwable e) {

代码示例来源:origin: linkedin/cruise-control

void startDetection() {
 try {
  _zkClient.createPersistent(_failedBrokersZkPath);
 } catch (ZkNodeExistsException znee) {
  // let it go.
 }
 // Load the failed broker information from zookeeper.
 loadPersistedFailedBrokerList();
 // Detect broker failures.
 detectBrokerFailures();
 _zkClient.subscribeChildChanges(ZkUtils.BrokerIdsPath(), new BrokerFailureListener());
}

代码示例来源:origin: javahongxi/whatsmars

public List<String> subscribeChildChanges(String path, final IZkChildListener listener) {
  Assert.notNull(client, new IllegalStateException("Zookeeper is not connected yet!"));
  return client.subscribeChildChanges(path, listener);
}

代码示例来源:origin: uber/chaperone

public KafkaBrokerTopicObserver(String brokerClusterName, String zkString) {
 LOGGER.info("Trying to init KafkaBrokerTopicObserver {} with ZK: {}", brokerClusterName,
   zkString);
 _kakfaClusterName = brokerClusterName;
 _zkUtils = ZkUtils.apply(zkString, 30000, 30000, false);
 _zkClient = ZkUtils.createZkClient(zkString, 30000, 30000);
 _zkClient.subscribeChildChanges(KAFKA_TOPICS_PATH, this);
 registerMetric();
 executorService.scheduleAtFixedRate(new Runnable() {
  @Override
  public void run() {
   tryToRefreshCache();
  }
 }, 0, 600, TimeUnit.SECONDS);
}

代码示例来源:origin: Dromara/soul

private void loadWatchAppAuth() {
  final String appAuthParent = ZkPathConstants.APP_AUTH_PARENT;
  if (!zkClient.exists(appAuthParent)) {
    zkClient.createPersistent(appAuthParent, true);
  }
  final List<String> childrenList = zkClient.getChildren(appAuthParent);
  if (CollectionUtils.isNotEmpty(childrenList)) {
    childrenList.forEach(children -> {
      String realPath = buildRealPath(appAuthParent, children);
      final AppAuthZkDTO appAuthZkDTO = zkClient.readData(realPath);
      Optional.ofNullable(appAuthZkDTO)
          .ifPresent(dto -> AUTH_MAP.put(dto.getAppKey(), dto));
      subscribeAppAuthDataChanges(realPath);
    });
  }
  zkClient.subscribeChildChanges(appAuthParent, (parentPath, currentChilds) -> {
    if (CollectionUtils.isNotEmpty(currentChilds)) {
      final List<String> unsubscribePath = unsubscribePath(childrenList, currentChilds);
      unsubscribePath.stream().map(children -> buildRealPath(parentPath, children))
          .forEach(this::subscribeAppAuthDataChanges);
    }
  });
}

代码示例来源:origin: Dromara/soul

private void loadWatcherRule() {
  Arrays.stream(PluginEnum.values()).forEach(pluginEnum -> {
    final String ruleParent = ZkPathConstants.buildRuleParentPath(pluginEnum.getName());
    if (!zkClient.exists(ruleParent)) {
      zkClient.createPersistent(ruleParent, true);
    }
    final List<String> childrenList = zkClient.getChildren(ruleParent);
    if (CollectionUtils.isNotEmpty(childrenList)) {
      childrenList.forEach(children -> {
        String realPath = buildRealPath(ruleParent, children);
        final RuleZkDTO ruleZkDTO = zkClient.readData(realPath);
        Optional.ofNullable(ruleZkDTO)
            .ifPresent(dto -> {
              String key = dto.getSelectorId();
              setRuleMapByKey(key, ruleZkDTO);
            });
        subscribeRuleDataChanges(realPath);
      });
    }
    zkClient.subscribeChildChanges(ruleParent, (parentPath, currentChilds) -> {
      if (CollectionUtils.isNotEmpty(currentChilds)) {
        final List<String> unsubscribePath = unsubscribePath(childrenList, currentChilds);
        //获取新增的节点数据,并对该节点进行订阅
        unsubscribePath.stream().map(p -> buildRealPath(parentPath, p))
            .forEach(this::subscribeRuleDataChanges);
      }
    });
  });
}

代码示例来源:origin: Dromara/soul

private void loadWatcherSelector() {
  Arrays.stream(PluginEnum.values()).forEach(pluginEnum -> {
    //获取选择器的节点
    String selectorParentPath =
        ZkPathConstants.buildSelectorParentPath(pluginEnum.getName());
    if (!zkClient.exists(selectorParentPath)) {
      zkClient.createPersistent(selectorParentPath, true);
    }
    final List<String> childrenList = zkClient.getChildren(selectorParentPath);
    if (CollectionUtils.isNotEmpty(childrenList)) {
      childrenList.forEach(children -> {
        String realPath = buildRealPath(selectorParentPath, children);
        final SelectorZkDTO selectorZkDTO = zkClient.readData(realPath);
        Optional.ofNullable(selectorZkDTO)
            .ifPresent(dto -> {
              final String key = dto.getPluginName();
              setSelectorMapByKey(key, dto);
            });
        subscribeSelectorDataChanges(realPath);
      });
    }
    zkClient.subscribeChildChanges(selectorParentPath, (parentPath, currentChilds) -> {
      if (CollectionUtils.isNotEmpty(currentChilds)) {
        final List<String> unsubscribePath = unsubscribePath(childrenList, currentChilds);
        unsubscribePath.stream().map(p -> buildRealPath(parentPath, p))
            .forEach(this::subscribeSelectorDataChanges);
      }
    });
  });
}

代码示例来源:origin: apache/samza

public void subscribeChildChanges(String path, IZkChildListener listener) {
 zkClient.subscribeChildChanges(path, listener);
 metrics.subscriptions.inc();
}

代码示例来源:origin: com.alibaba/dubbo

public List<String> subscribeChildChanges(String path, final IZkChildListener listener) {
  Assert.notNull(client, new IllegalStateException("Zookeeper is not connected yet!"));
  return client.subscribeChildChanges(path, listener);
}

代码示例来源:origin: apache/samza

/**
 * subscribe to the changes in the list of processors in ZK
 * @param listener - will be called when a processor is added or removed.
 */
public void subscribeToProcessorChange(IZkChildListener listener) {
 LOG.info("Subscribing for child change at:" + keyBuilder.getProcessorsPath());
 zkClient.subscribeChildChanges(keyBuilder.getProcessorsPath(), listener);
 metrics.subscriptions.inc();
}

代码示例来源:origin: org.apache.samza/samza-core

/**
 * subscribe to the changes in the list of processors in ZK
 * @param listener - will be called when a processor is added or removed.
 */
public void subscribeToProcessorChange(IZkChildListener listener) {
 LOG.info("Subscribing for child change at:" + keyBuilder.getProcessorsPath());
 zkClient.subscribeChildChanges(keyBuilder.getProcessorsPath(), listener);
 metrics.subscriptions.inc();
}

代码示例来源:origin: org.apache.samza/samza-core_2.12

/**
 * subscribe to the changes in the list of processors in ZK
 * @param listener - will be called when a processor is added or removed.
 */
public void subscribeToProcessorChange(IZkChildListener listener) {
 LOG.info("Subscribing for child change at:" + keyBuilder.getProcessorsPath());
 zkClient.subscribeChildChanges(keyBuilder.getProcessorsPath(), listener);
 metrics.subscriptions.inc();
}

代码示例来源:origin: org.apache.samza/samza-core_2.11

/**
 * subscribe to the changes in the list of processors in ZK
 * @param listener - will be called when a processor is added or removed.
 */
public void subscribeToProcessorChange(IZkChildListener listener) {
 LOG.info("Subscribing for child change at:" + keyBuilder.getProcessorsPath());
 zkClient.subscribeChildChanges(keyBuilder.getProcessorsPath(), listener);
 metrics.subscriptions.inc();
}

相关文章