首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到Curator服务发现服务

找不到Curator服务发现服务
EN

Stack Overflow用户
提问于 2014-09-23 23:45:57
回答 1查看 478关注 0票数 2

我有两个应用程序,一个将自身注册到zookeeper服务,另一个尝试列出已注册的服务。

但是,当我列出它们时,我没有找到任何服务

我按如下方式注册该服务

代码语言:javascript
复制
private ServiceDiscovery<InstanceDetails> getDiscovery() {
        return ServiceDiscoveryBuilder.builder(InstanceDetails.class)
            .basePath(Config.basePath)
            .client(curatorFramework)
            .serializer(jacksonInstanceSerializer)
            .build();
    }

public void advertiseAvailability() {
        try {
            ServiceDiscovery<InstanceDetails> discovery = getDiscovery();
            discovery.start();
            discovery.registerService(getInstance());
            discovery.close();
            System.out.println("Advertised");
        } catch (Exception e) {
            throw Throwables.propagate(e);
        }
    }

当我尝试获取服务时,我有以下几点:

代码语言:javascript
复制
public Collection<ServiceInstance<InstanceDetails>> getWorkers(String serviceName) {
        Collection<ServiceInstance<InstanceDetails>> instances;

        try {
            instances = discovery.queryForInstances(serviceName);
        } catch (Exception e) {
            throw Throwables.propagate(e);
        }

        return instances;
    }

注意,discovery.queryForNames()返回一个包含我的serviceName和"zookeeper“的数组。

EN

回答 1

Stack Overflow用户

发布于 2019-03-11 01:32:05

好吧,我基本上也有同样的问题。它很容易解决,实际上也很奇怪。所以你实际上不能关闭你的ServiceDiscovery实例,这对我是有效的。但在这种情况下,它们不应该给出discovery.queryForNames()的任何结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25999381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档