Nacos的连接错误:ErrCode:-401, ErrMsg:Client not connected,current status:STARTING的解决办法
最近在将HASentinel(https://gitee.com/laofeng/hasentinel)接入Nacos配置中心,在连接的时候怎么都不能够连接成功,报错误:
ErrCode:-401, ErrMsg:Client not connected,current status:STARTING
使用的Nacos server及client的版本都是2.0.3。
创建ConfigService使用的是方法ConfigFactory.createConfigService(Properties),如下所示:
反复确认过Properties中所有的配置都正确,通过Debug跟踪代码,发现通过传入Properties传入参数构造对象ServerListManager时,会将isFixed这个变量设置为true,如下所示:
ServerListManager对象创建成功,会调用启动连接的start()方法,如下所示:
但是在start()方法会同时判断isStarted及isFixed两个参数,只要有一个的值为true,就会立即返回不继续往下执行,如下所示:
但是在前面isFixed已经被修改为了true,因而就不会继续执行连接操作,对isFixed变量进行了跟踪,发现只有这么一处业务逻辑。
于是下载最新的代码,修改ServerListener.start()的判断逻辑去掉去isFixed的判断:
if (isStarted) {
return;
}
然后重新编码api、common、client模块,版本为2.1.0-SNAPSHOT,然后在pom中重新依赖这些模块,再次启动就不再报上面的401错误。
难道就我一个遇到?后面继续跟进该问题!