目录
可以优先查看总结看能否解决大家的问题,如果不能解决不需要查看解决过程浪费时间了。
该问题卡住我很久,网上大多数文章都是修改配置文件中的连接超时时间,即修改如下内容
dubbo.registry.timeout = 10000
dubbo.metadata-report.timeout= 10000
dubbo.config-center.timeout=10000
但本人测试修改这些配置文件并不会修改dubbo-admin中的连接时间,仍然是默认的连接时间,我们打上断点查看
?可以看到,仍然是默认的timeout,并没有因为修改配置文件中的超时时间而更改,但是此时我注意到了url这个路径
url这个路径来自于
我们查看formUrl()方法
注释部分是我们解决问题的关键,因为在第一张图中,timeout变量的获取就是来自于getParamter()方法,因此我们手动添加一个url属性,将注释打开后,我们可以观察到url自动拼接了如下信息?
timeout属性也修改为我们设置的值。此时我们执行Applicaton方法发现不会报错zookeeper not connected
因此,问题的关键在于修改url路径,所以我们可以通过修改源代码中的url属性
又或是直接修改配置文件中的url路径
admin.registry.address=zookeeper://192.168.116.131:2181?blockUntilConnectedWait=100000&timeout=100000
admin.config-center=zookeeper://192.168.116.131:2181
admin.metadata-report.address=zookeeper://192.168.116.131:2181
以上两种解决方法都可以解决我的zookeeper not connected报错