com.mpush.zk.ZKClient类的使用及代码示例

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

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

ZKClient介绍

暂无

代码示例

代码示例来源:origin: mpusher/mpush

  1. @Test
  2. public void testZK() throws Exception {
  3. ZKClient.I.syncStart();
  4. ZKClient.I.registerEphemeral(ServerNodes.gs().serviceName(), "3");
  5. ZKClient.I.registerEphemeral(ServerNodes.gs().serviceName(), "4");
  6. System.err.println("==================" + ZKClient.I.getChildrenKeys(ServiceNames.GATEWAY_SERVER));
  7. List<String> rawData = ZKClient.I.getChildrenKeys(ServiceNames.GATEWAY_SERVER);
  8. if (rawData == null || rawData.isEmpty()) {
  9. return;
  10. }
  11. for (String raw : rawData) {
  12. String fullPath = ServiceNames.GATEWAY_SERVER + PATH_SEPARATOR + raw;
  13. System.err.println("==================" + ZKClient.I.get(fullPath));
  14. }
  15. }
  16. }

代码示例来源:origin: mpusher/mpush

  1. private synchronized static ZKClient I() {
  2. return I == null ? new ZKClient() : I;
  3. }

代码示例来源:origin: mpusher/mpush

  1. @Override
  2. protected void doStart(Listener listener) throws Throwable {
  3. client.start();
  4. Logs.RSD.info("init zk client waiting for connected...");
  5. if (!client.blockUntilConnected(1, TimeUnit.MINUTES)) {
  6. throw new ZKException("init zk error, config=" + zkConfig);
  7. }
  8. initLocalCache(zkConfig.getWatchPath());
  9. addConnectionStateListener();
  10. Logs.RSD.info("zk client start success, server lists is:{}", zkConfig.getHosts());
  11. listener.onSuccess(zkConfig.getHosts());
  12. }

代码示例来源:origin: mpusher/mpush

  1. @Override
  2. public void deregister(ServiceNode node) {
  3. if (client.isRunning()) {
  4. client.remove(node.nodePath());
  5. }
  6. }

代码示例来源:origin: mpusher/mpush

  1. /**
  2. * 持久化数据
  3. *
  4. * @param key
  5. * @param value
  6. */
  7. public void registerPersist(final String key, final String value) {
  8. try {
  9. if (isExisted(key)) {
  10. update(key, value);
  11. } else {
  12. client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(key, value.getBytes());
  13. }
  14. } catch (Exception ex) {
  15. Logs.RSD.error("persist:{},{}", key, value, ex);
  16. throw new ZKException(ex);
  17. }
  18. }

代码示例来源:origin: mpusher/mpush

  1. @Override
  2. public void register(ServiceNode node) {
  3. if (node.isPersistent()) {
  4. client.registerPersist(node.nodePath(), Jsons.toJson(node));
  5. } else {
  6. client.registerEphemeral(node.nodePath(), Jsons.toJson(node));
  7. }
  8. }

代码示例来源:origin: mpusher/mpush

  1. /**
  2. * 注册临时数据
  3. *
  4. * @param key
  5. * @param value
  6. */
  7. public void reRegisterEphemeral(final String key, final String value) {
  8. registerEphemeral(key, value, false);
  9. }

代码示例来源:origin: mpusher/mpush

  1. @Override
  2. public List<ServiceNode> lookup(String serviceName) {
  3. List<String> childrenKeys = client.getChildrenKeys(serviceName);
  4. if (childrenKeys == null || childrenKeys.isEmpty()) {
  5. return Collections.emptyList();
  6. }
  7. return childrenKeys.stream()
  8. .map(key -> serviceName + PATH_SEPARATOR + key)
  9. .map(client::get)
  10. .filter(Objects::nonNull)
  11. .map(childData -> Jsons.fromJson(childData, CommonServiceNode.class))
  12. .filter(Objects::nonNull)
  13. .collect(Collectors.toList());
  14. }

代码示例来源:origin: mpusher/mpush

  1. /**
  2. * 从远程获取数据
  3. *
  4. * @param key
  5. * @return
  6. */
  7. public String getFromRemote(final String key) {
  8. if (isExisted(key)) {
  9. try {
  10. return new String(client.getData().forPath(key), Constants.UTF_8);
  11. } catch (Exception ex) {
  12. Logs.RSD.error("getFromRemote:{}", key, ex);
  13. }
  14. }
  15. return null;
  16. }

代码示例来源:origin: mpusher/mpush

  1. @Override
  2. public void stop(Listener listener) {
  3. if (isRunning()) {
  4. super.stop(listener);
  5. } else {
  6. listener.onSuccess();
  7. }
  8. }

代码示例来源:origin: mpusher/mpush

  1. public void registerEphemeralSequential(final String key, final String value) {
  2. registerEphemeralSequential(key, value, true);
  3. }

代码示例来源:origin: mpusher/mpush

  1. /**
  2. * 获取数据,先从本地获取,本地找不到,从远程获取
  3. *
  4. * @param key
  5. * @return
  6. */
  7. public String get(final String key) {
  8. if (null == cache) {
  9. return null;
  10. }
  11. ChildData data = cache.getCurrentData(key);
  12. if (null != data) {
  13. return null == data.getData() ? null : new String(data.getData(), Constants.UTF_8);
  14. }
  15. return getFromRemote(key);
  16. }

代码示例来源:origin: com.github.mpusher/mpush-zk

  1. @Override
  2. public void register(ServiceNode node) {
  3. if (node.isPersistent()) {
  4. client.registerPersist(node.nodePath(), Jsons.toJson(node));
  5. } else {
  6. client.registerEphemeral(node.nodePath(), Jsons.toJson(node));
  7. }
  8. }

代码示例来源:origin: mpusher/mpush

  1. /**
  2. * 注册临时数据
  3. *
  4. * @param key
  5. * @param value
  6. */
  7. public void registerEphemeral(final String key, final String value) {
  8. registerEphemeral(key, value, true);
  9. }

代码示例来源:origin: com.github.mpusher/mpush-zk

  1. @Override
  2. public void deregister(ServiceNode node) {
  3. if (client.isRunning()) {
  4. client.remove(node.nodePath());
  5. }
  6. }

代码示例来源:origin: com.github.mpusher/mpush-zk

  1. @Override
  2. public List<ServiceNode> lookup(String serviceName) {
  3. List<String> childrenKeys = client.getChildrenKeys(serviceName);
  4. if (childrenKeys == null || childrenKeys.isEmpty()) {
  5. return Collections.emptyList();
  6. }
  7. return childrenKeys.stream()
  8. .map(key -> serviceName + PATH_SEPARATOR + key)
  9. .map(client::get)
  10. .filter(Objects::nonNull)
  11. .map(childData -> Jsons.fromJson(childData, CommonServiceNode.class))
  12. .filter(Objects::nonNull)
  13. .collect(Collectors.toList());
  14. }

代码示例来源:origin: com.github.mpusher/mpush-zk

  1. /**
  2. * 持久化数据
  3. *
  4. * @param key
  5. * @param value
  6. */
  7. public void registerPersist(final String key, final String value) {
  8. try {
  9. if (isExisted(key)) {
  10. update(key, value);
  11. } else {
  12. client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(key, value.getBytes());
  13. }
  14. } catch (Exception ex) {
  15. Logs.RSD.error("persist:{},{}", key, value, ex);
  16. throw new ZKException(ex);
  17. }
  18. }

代码示例来源:origin: mpusher/mpush

  1. /**
  2. * 获取子节点
  3. *
  4. * @param key
  5. * @return
  6. */
  7. public List<String> getChildrenKeys(final String key) {
  8. try {
  9. if (!isExisted(key)) return Collections.emptyList();
  10. List<String> result = client.getChildren().forPath(key);
  11. result.sort(Comparator.reverseOrder());
  12. return result;
  13. } catch (Exception ex) {
  14. Logs.RSD.error("getChildrenKeys:{}", key, ex);
  15. return Collections.emptyList();
  16. }
  17. }

代码示例来源:origin: mpusher/mpush

  1. @Override
  2. public void start(Listener listener) {
  3. if (isRunning()) {
  4. listener.onSuccess();
  5. } else {
  6. super.start(listener);
  7. }
  8. }

代码示例来源:origin: mpusher/mpush

  1. private void reRegisterEphemeralSequential(final String key, final String value) {
  2. registerEphemeralSequential(key, value, false);
  3. }

相关文章