dubbo消费者启动报KeeperErrorCode = ConnectionLoss异常,但是能正常调用服务
这两天学习dubbo,用的版本是dubbo2.6.7+spring5.2.2+curator4.2.0+zookeeper3.5.6(provider和consumer使用相同版本),遇到一些问题,网上搜了大半天还是解决不了,先记录一下,哪位大牛看到的话,希望帮解答下1、用linux虚拟机启动zookeeper3.5.6注册中心2、启动provider项目(用assembly打包成jar直接...
这两天学习dubbo,用的版本是dubbo2.6.7+spring5.2.2+curator4.2.0+zookeeper3.5.6(provider和consumer使用相同版本),遇到一些问题,网上搜了大半天还是解决不了,先记录一下,哪位大牛看到的话,希望帮解答下
1、用linux虚拟机启动zookeeper3.5.6注册中心
2、启动provider项目(用assembly打包成jar直接运行),成功注册服务
3、用linux虚拟机将dubb-adimn-2.6.0部署到tomcat,启动tomcat,访问dubb-adimn-2.6.0
4、启动consumer项目(部署到maven的tomcat7插件运行),测试代码如下
@Controller
public class TestController {
@Resource
private TestService testServiceImpl;
@RequestMapping("/test")
public String test() {
testServiceImpl.test();
return "/main.jsp";
}
}
@Service
public class TestServiceImpl implements TestService{
@Reference
private DemoService demoService;
@Override
public String test() {
String demo = demoService.demo("张三");
System.out.println(demo);
return "";
}
}
启动过程报如下异常:
2019-12-31 12:33:54 Background operation retry gave up
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
at org.apache.zookeeper.KeeperException.create(KeeperException.java:102)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.checkBackgroundRetry(CuratorFrameworkImpl.java:862)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.performBackgroundOperation(CuratorFrameworkImpl.java:990)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.backgroundOperationsLoop(CuratorFrameworkImpl.java:943)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.access$300(CuratorFrameworkImpl.java:66)
at org.apache.curator.framework.imps.CuratorFrameworkImpl$4.call(CuratorFrameworkImpl.java:346)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2019-12-31 12:33:54 Background retry gave up
org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectionLoss
at org.apache.curator.framework.imps.CuratorFrameworkImpl.performBackgroundOperation(CuratorFrameworkImpl.java:972)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.backgroundOperationsLoop(CuratorFrameworkImpl.java:943)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.access$300(CuratorFrameworkImpl.java:66)
at org.apache.curator.framework.imps.CuratorFrameworkImpl$4.call(CuratorFrameworkImpl.java:346)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
但是,dubb-adimn-2.6.0后台管理却显示服务正常被调用
访问controller(test),也能够正常调用服务
网上查了一大堆关于KeeperErrorCode = ConnectionLoss的解决方法,一一试了,还是不行,心累啊~~
最后终于解决了:
原来是因为curator最新的4.2.0只兼容zookeeper3.5.5以下版本,使用zookeeper3.5.5及以上版本,则报该异常
更多推荐
所有评论(0)