dubbo使用zookeeper注册中心,在注册中心找不到对的服务(Exception)

在注册中心找不到对应的服务

  1. 描述:在用dubbo框架搭建项目XXXXXX,以zookeeper为注册中心进行测试,使用tomca7:run运行
  2. 错误原文:
java.lang.IllegalStateException: Failed to check the status of the service
 com.XXXXXX.sellergoods.service.BrandService. No provider available for the service 
com.XXXXXX.sellergoods.service.BrandService from the url 
zookeeper://192.168.12.161:2181/com.alibaba.dubbo.registry.RegistryService?
application=XXXXXX-manager-
web&dubbo=2.5.7&interface=com.XXXXXX.sellergoods.service.BrandService&methods=update,get,de
lete,selectOptionList,add,getListByPage&pid=3980&revision=0.0.1-
SNAPSHOT&side=consumer&timestamp=1501146823396 to the consumer 172.16.17.14 use dubbo 
version 2.5.7
  • @Service注解:com.alibaba.dubbo.config.annotation.Service包
    
    @Reference注解:com.alibaba.dubbo.config.annotation.Reference包
    
    /** 引用服务,调用服务超时的毫秒数(设置的10秒,否则电脑运行缓慢超时也会报错
    还有就是不要在查询方法上###打断点###相当于超时了
    ) */
    
    @Reference(timeout = 10000)
  • 错误原因有两个要注意:
  1. 服务层代码没有成功注册到注册中心导致,请检查一下你的服务层代码是否添加了 @Service 注解,

    并且该注解的包一定是com.alibaba.dubbo.config.annotation包,不是org.springframework.stereotype.Service

  2. 还有一个原因就是你的服务层工程由于某些原因没有正常启动,也无法注册到注册中心里

无法连接到注册中心

  1. 错误原文:
org.I0Itec.zkclient.exception.ZkTimeoutException: 
Unable to connect to zookeeper server within timeout: 5000	

org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)	
org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:98)	
org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:92)	
org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:80)
	
com.alibaba.dubbo.remoting.zookeeper.zkclient.ZkclientZookeeperClient.<init>
(ZkclientZookeeperClient.java:26)
  • 解决:请检查IP与端口是否填写正确,检查注册中心是否正常启动

猜你喜欢

转载自blog.csdn.net/JzCm__/article/details/84794825