gpt4 book ai didi

eagle.jfaster.org.ZookeeperRegistryCenter类的使用及代码示例

转载 作者:知者 更新时间:2024-03-13 10:19:31 25 4
gpt4 key购买 nike

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

ZookeeperRegistryCenter介绍

[英]zk注册中心 Created by fangyanpeng1 on 2016/12/28.
[中]zk注册中心 由方彦鹏1于2016/12/28创建。

代码示例

代码示例来源:origin: fang-yan-peng/eagle

@Override
protected RegistryCenter createRegistry(MergeConfig registryConfig) {
  RegistryCenter registryCenter = new ZookeeperRegistryCenter(registryConfig);
  registryCenter.init();
  return registryCenter;
}

代码示例来源:origin: fang-yan-peng/eagle

@Override
public String get(final String key) {
  PathChildrenCache cache = findChildrenCach(key);
  if (null == cache) {
    return getDirectly(key);
  }
  ChildData resultInCache = cache.getCurrentData(key);
  if (null != resultInCache) {
    return null == resultInCache.getData() ? null : new String(resultInCache.getData(), Charsets.UTF_8);
  }
  return getDirectly(key);
}

代码示例来源:origin: fang-yan-peng/eagle

@Override
public void persist(final String key, final String value) {
  try {
    if (!isExisted(key)) {
      client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(key, value.getBytes(
          Charsets.UTF_8));
    } else {
      update(key, value);
    }
    //CHECKSTYLE:OFF
  } catch (final Exception ex) {
    //CHECKSTYLE:ON
    throw new EagleFrameException(ex);
  }
}

代码示例来源:origin: fang-yan-peng/eagle

@Override
public List<String> getChildrenKeys(final String key) {
  try {
    if (!isExisted(key)) {
      return Collections.emptyList();
    }
    List<String> result = client.getChildren().forPath(key);
    Collections.sort(result, new Comparator<String>() {
      @Override
      public int compare(final String o1, final String o2) {
        return o2.compareTo(o1);
      }
    });
    return result;
    //CHECKSTYLE:OFF
  } catch (final Exception ex) {
    //CHECKSTYLE:ON
    logger.error("ZookeeperRegistryCenter.getChildrenKeys fail ", ex);
    return Collections.emptyList();
  }
}

代码示例来源:origin: fang-yan-peng/eagle

@Override
public void close() {
  if (!stat.compareAndSet(true, false)) {
    return;
  }
  for (Map.Entry<String, PathChildrenCache> each : childrenCaches.entrySet()) {
    try {
      each.getValue().close();
    } catch (IOException e) {
      logger.error("", e);
      throw new EagleFrameException(e);
    }
  }
  waitForCacheClose();
  CloseableUtils.closeQuietly(client);
}

代码示例来源:origin: fang-yan-peng/eagle

@Override
public int getNumChildren(final String key) {
  try {
    Stat stat = client.getZookeeperClient().getZooKeeper().exists(getNameSpace() + key, false);
    if (null != stat) {
      return stat.getNumChildren();
    }
    //CHECKSTYLE:OFF
  } catch (final Exception ex) {
    //CHECKSTYLE:ON
    throw new EagleFrameException(ex);
  }
  return 0;
}

代码示例来源:origin: fang-yan-peng/eagle

@Override
public void persistEphemeral(final String key, final String value) {
  try {
    if (isExisted(key)) {
      client.delete().deletingChildrenIfNeeded().forPath(key);
    }
    client.create().creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL).forPath(key, value.getBytes(Charsets.UTF_8));
    //CHECKSTYLE:OFF
  } catch (final Exception ex) {
    //CHECKSTYLE:ON
    throw new EagleFrameException(ex);
  }
}

代码示例来源:origin: fang-yan-peng/eagle

/**
   * 创建注册中心.
   *
   * @param connectString 注册中心连接字符串
   * @param namespace 注册中心命名空间
   * @param digest 注册中心凭证
   * @return 注册中心对象
   */
  public static CoordinatorRegistryCenter createCoordinatorRegistryCenter(final String connectString, final String namespace, final Optional<String> digest) {
    Hasher hasher = Hashing.md5().newHasher().putString(connectString, Charsets.UTF_8).putString(namespace, Charsets.UTF_8);
    if (digest.isPresent()) {
      hasher.putString(digest.get(), Charsets.UTF_8);
    }
    HashCode hashCode = hasher.hash();
    CoordinatorRegistryCenter result = REG_CENTER_REGISTRY.get(hashCode);
    if (null != result) {
      return result;
    }
    MergeConfig zkConfig = new MergeConfig();
    zkConfig.addExt(ConfigEnum.address.getName(), connectString);
    zkConfig.addExt(ConfigEnum.namespace.getName(), namespace);
    if (digest.isPresent()) {
      zkConfig.addExt(ConfigEnum.digest.getName(), digest.get());
    }
    result = new ZookeeperRegistryCenter(zkConfig);
    result.init();
    REG_CENTER_REGISTRY.put(hashCode, result);
    return result;
  }
}

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