最终解决问题之后,才发现是自己走进盲角了,花了不少时间,特此记录

I. 问题说明

在测试使用SpringCloud全家桶时,服务向注册中心注册,然后client就可以相互之间实现RPC调用(其实还是http访问)

如果我想看看当前注册中心获取了哪些服务,可以怎么办?

一个简单的方法就是借助DiscoverClient来做,然后问题就来了

1
2
3
4
public Application(DiscoveryClient discoveryClient) {
List<String> list = discoveryClient.getServices();
System.out.println(list);
}

上面的代码执行之后,发现返回是空数组;蛋疼的是换另外一个工程,同样的方式,却可以拿到注册的服务名

查了半天,最好才发现拿不到是因为在配置中添加了

1
eureka.client.fetchRegistry=false

上面就表示不会去主动获取注册的服务,因此也就拿不到服务了;改成true之后就ok了

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

一灰灰blog

QrCode

知识星球

goals