专栏首页爱明依zookeeper 根据服务名称初始化 服务地址列表

zookeeper 根据服务名称初始化 服务地址列表

  //服务地址列表
    private volatile List<String> serverAddressList=new ArrayList<String>();

    /**
     * 初始化服务地址信息
     * @param serviceName   服务名称
     * @param zkServiceStr  zk地址
     * @param rootPath  根路径
     */
    public void init(String serviceName,String zkServiceStr,String rootPath){
        String servicePath=rootPath+"/"+serviceName;
        ZkClient zkClient=new ZkClient(zkServiceStr);
        boolean serviceExists=zkClient.exists(servicePath);
        if(serviceExists){
            //如果服务节点存在,那么取出下面所有的服务地址的临时节点
            serverAddressList=zkClient.getChildren(servicePath);
        }else{
            throw new RuntimeException("service not exits!");
        }
        //注册事件监听
        zkClient.subscribeChildChanges(servicePath, new IZkChildListener() {
            @Override
            public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
                serverAddressList=currentChilds;
            }
        });
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java web项目如何获取某个文件夹下面的文件路径 绝对路径 ?

    爱明依
  • java如何手撕加载字节码的代码?编写一个加载class文件的方法

    爱明依
  • Java 如何手写一段代码实现将java源码编译成字节码? Java文件-》class文件

    核心对象:1 JavaCompiler  2 StandardJavaFilemanager 

    爱明依
  • Java源码安全审查

    最近业务需要出一份Java Web应用源码安全审查报告, 对比了市面上数种工具及其分析结果, 基于结果总结了一份规则库. 本文目录结构如下: 

    用户1216491
  • OKHttp源码学习--HttpURLConnection HttpClient OKHttp Get and post Demo用法对比

    由以上demo可以看出,OKHttp使用最简单方便,代码书写量少,而且网络请求高效。

    yuanyuan
  • 通常Java开发人员如何进行数据排序?

    在实际工作中和平时学习中,以及分析开源Java项目的大量源代码后,我发现Java开发人员通常使用两种方法。一是使用Collections或 Arrays的 so...

    用户1289394
  • java+内存分配及变量存储位置的区别

    Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细...

    bear_fish
  • 反射利器——jOOR

    反射提供了运行时修改对象的能力,但Java提供的Refelec包实在是太复杂了,首先得到Class、再根据Class去找到Field或Method,再进行调用,...

    用户1108631
  • 【JAVA】java字符串拼接

    后端技术漫谈
  • JVM系列之:String.intern和stringTable

    StringTable是什么?它和String.intern有什么关系呢?在字符串对象的创建过程中,StringTable有起到了什么作用呢?

    程序那些事

扫码关注云+社区

领取腾讯云代金券