本文整理了Java中org.I0Itec.zkclient.ZkClient.subscribeChildChanges()
方法的一些代码示例,展示了ZkClient.subscribeChildChanges()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZkClient.subscribeChildChanges()
方法的具体详情如下:
包路径:org.I0Itec.zkclient.ZkClient
类名称: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();
}
内容来源于网络,如有侵权,请联系作者删除!