gpt4 book ai didi

com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry类的使用及代码示例

转载 作者:知者 更新时间:2024-03-13 11:19:21 29 4
gpt4 key购买 nike

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

ZookeeperRegistry介绍

[英]ZookeeperRegistry
[中]ZookeeperRegistry

代码示例

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

@Override
public Registry createRegistry(URL url) {
  return new ZookeeperRegistry(url, zookeeperTransporter);
}

代码示例来源:origin: remoting/dubbox

public List<URL> lookup(URL url) {
  if (url == null) {
    throw new IllegalArgumentException("lookup url == null");
  }
  try {
    List<String> providers = new ArrayList<String>();
    for (String path : toCategoriesPath(url)) {
        List<String> children = zkClient.getChildren(path);
        if (children != null) {
          providers.addAll(children);
        }
    }
    return toUrlsWithoutEmpty(url, providers);
  } catch (Throwable e) {
    throw new RpcException("Failed to lookup " + url + " from zookeeper " + getUrl() + ", cause: " + e.getMessage(), e);
  }
}

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

private String toServicePath(URL url) {
  String name = url.getServiceInterface();
  if (Constants.ANY_VALUE.equals(name)) {
    return toRootPath();
  }
  return toRootDir() + URL.encode(name);
}

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

@Override
protected void doUnregister(URL url) {
  try {
    zkClient.delete(toUrlPath(url));
  } catch (Throwable e) {
    throw new RpcException("Failed to unregister " + url + " to zookeeper " + getUrl() + ", cause: " + e.getMessage(), e);
  }
}

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

try {
  if (Constants.ANY_VALUE.equals(url.getServiceInterface())) {
    String root = toRootPath();
    ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
    if (listeners == null) {
        service = URL.decode(service);
        anyServices.add(service);
        subscribe(url.setPath(service).addParameters(Constants.INTERFACE_KEY, service,
            Constants.CHECK_KEY, String.valueOf(false)), listener);
    for (String path : toCategoriesPath(url)) {
      ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
      if (listeners == null) {
      List<String> children = zkClient.addChildListener(path, zkListener);
      if (children != null) {
        urls.addAll(toUrlsWithEmpty(url, path, children));
    notify(url, listener, urls);
  throw new RpcException("Failed to subscribe " + url + " to zookeeper " + getUrl() + ", cause: " + e.getMessage(), e);

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

@Override
protected void doUnsubscribe(URL url, NotifyListener listener) {
  ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
  if (listeners != null) {
    ChildListener zkListener = listeners.get(listener);
    if (zkListener != null) {
      if (Constants.ANY_VALUE.equals(url.getServiceInterface())) {
        String root = toRootPath();
        zkClient.removeChildListener(root, zkListener);
      } else {
        for (String path : toCategoriesPath(url)) {
          zkClient.removeChildListener(path, zkListener);
        }
      }
    }
  }
}

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

private String toCategoryPath(URL url) {
  return toServicePath(url) + Constants.PATH_SEPARATOR + url.getParameter(Constants.CATEGORY_KEY, Constants.DEFAULT_CATEGORY);
}

代码示例来源:origin: remoting/dubbox

public void childChanged(String parentPath, List<String> currentChilds) {
    for (String child : currentChilds) {
      child = URL.decode(child);
      if (! anyServices.contains(child)) {
        anyServices.add(child);
        subscribe(url.setPath(child).addParameters(Constants.INTERFACE_KEY, child, 
            Constants.CHECK_KEY, String.valueOf(false)), listener);
      }
    }
  }
});

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

@Override
public void destroy() {
  super.destroy();
  try {
    zkClient.close();
  } catch (Exception e) {
    logger.warn("Failed to close zookeeper client " + getUrl() + ", cause: " + e.getMessage(), e);
  }
}

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

private String toUrlPath(URL url) {
  return toCategoryPath(url) + Constants.PATH_SEPARATOR + URL.encode(url.toFullString());
}

代码示例来源:origin: remoting/dubbox

protected void doUnsubscribe(URL url, NotifyListener listener) {
  ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
  if (listeners != null) {
    ChildListener zkListener = listeners.get(listener);
    if (zkListener != null) {
      zkClient.removeChildListener(toUrlPath(url), zkListener);
    }
  }
}

代码示例来源:origin: remoting/dubbox

protected void doSubscribe(final URL url, final NotifyListener listener) {
  try {
    if (Constants.ANY_VALUE.equals(url.getServiceInterface())) {
      String root = toRootPath();
      ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
      if (listeners == null) {
          service = URL.decode(service);
          anyServices.add(service);
          subscribe(url.setPath(service).addParameters(Constants.INTERFACE_KEY, service, 
              Constants.CHECK_KEY, String.valueOf(false)), listener);
      for (String path : toCategoriesPath(url)) {
        ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
        if (listeners == null) {
        List<String> children = zkClient.addChildListener(path, zkListener);
        if (children != null) {
          urls.addAll(toUrlsWithEmpty(url, path, children));
      notify(url, listener, urls);
    throw new RpcException("Failed to subscribe " + url + " to zookeeper " + getUrl() + ", cause: " + e.getMessage(), e);

代码示例来源:origin: remoting/dubbox

protected void doUnregister(URL url) {
  try {
    zkClient.delete(toUrlPath(url));
  } catch (Throwable e) {
    throw new RpcException("Failed to unregister " + url + " to zookeeper " + getUrl() + ", cause: " + e.getMessage(), e);
  }
}

代码示例来源:origin: remoting/dubbox

private String toCategoryPath(URL url) {
  return toServicePath(url) + Constants.PATH_SEPARATOR + url.getParameter(Constants.CATEGORY_KEY, Constants.DEFAULT_CATEGORY);
}

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

@Override
  public void childChanged(String parentPath, List<String> currentChilds) {
    for (String child : currentChilds) {
      child = URL.decode(child);
      if (!anyServices.contains(child)) {
        anyServices.add(child);
        subscribe(url.setPath(child).addParameters(Constants.INTERFACE_KEY, child,
            Constants.CHECK_KEY, String.valueOf(false)), listener);
      }
    }
  }
});

代码示例来源:origin: remoting/dubbox

public void destroy() {
  super.destroy();
  try {
    zkClient.close();
  } catch (Exception e) {
    logger.warn("Failed to close zookeeper client " + getUrl() + ", cause: " + e.getMessage(), e);
  }
}

代码示例来源:origin: remoting/dubbox

private String toUrlPath(URL url) {
  return toCategoryPath(url) + Constants.PATH_SEPARATOR + URL.encode(url.toFullString());
}

代码示例来源:origin: remoting/dubbox

protected void doUnsubscribe(URL url, NotifyListener listener) {
  ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
  if (listeners != null) {
    ChildListener zkListener = listeners.get(listener);
    if (zkListener != null) {
      zkClient.removeChildListener(toUrlPath(url), zkListener);
    }
  }
}

代码示例来源:origin: remoting/dubbox

protected void doSubscribe(final URL url, final NotifyListener listener) {
  try {
    if (Constants.ANY_VALUE.equals(url.getServiceInterface())) {
      String root = toRootPath();
      ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
      if (listeners == null) {
          service = URL.decode(service);
          anyServices.add(service);
          subscribe(url.setPath(service).addParameters(Constants.INTERFACE_KEY, service, 
              Constants.CHECK_KEY, String.valueOf(false)), listener);
      for (String path : toCategoriesPath(url)) {
        ConcurrentMap<NotifyListener, ChildListener> listeners = zkListeners.get(url);
        if (listeners == null) {
        List<String> children = zkClient.addChildListener(path, zkListener);
        if (children != null) {
          urls.addAll(toUrlsWithEmpty(url, path, children));
      notify(url, listener, urls);
    throw new RpcException("Failed to subscribe " + url + " to zookeeper " + getUrl() + ", cause: " + e.getMessage(), e);

代码示例来源:origin: remoting/dubbox

public List<URL> lookup(URL url) {
  if (url == null) {
    throw new IllegalArgumentException("lookup url == null");
  }
  try {
    List<String> providers = new ArrayList<String>();
    for (String path : toCategoriesPath(url)) {
        List<String> children = zkClient.getChildren(path);
        if (children != null) {
          providers.addAll(children);
        }
    }
    return toUrlsWithoutEmpty(url, providers);
  } catch (Throwable e) {
    throw new RpcException("Failed to lookup " + url + " from zookeeper " + getUrl() + ", cause: " + e.getMessage(), e);
  }
}

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com