先介绍下背景,此时使用的是zookeeper+dubbo的注册中心框架,A项目依赖于B项目,我在A项目发起对B项目接口的调用的时候报了这么一个错,

java.lang.IllegalStateException: Expected state [STARTED] was [STOPPED]

初看我还以为是zookeeper关闭连接导致的,看了下zookeeper server,确实有日志如下:

2021-12-29 10:21:58,680 [myid:] - WARN  [NIOWorkerThread-4:NIOServerCnxn@370] - Exception causing close of session 0x1000002614d0011: 远程主机强迫关闭了一个现有的连接。

难道真的是zookeeper莫名其妙的关闭了?可是看B项目控制台并没有日志说zookeeper关闭连接,查看zookeeper端口也可以查到:

netstat -ano | findstr 2181

在这里插入图片描述

于是觉得可能不是zookeeper的问题,上网查了下,有说是部署的问题的,于是我把A项目clean install了一下,结果报错说B项目的包不存在。看来是B项目的包莫名其妙的没了,把B项目clean install一下,果然A项目可以正常启动了。

第二次再次遇到这个问题时,不是jar依赖的问题,那么从之前的报错上看,就是zookeeper的问题,关掉zookeeper server,重新打开一次zkServer.cmd就好了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐