`

Dubbo消费者启动报Failed to check the status of the service

阅读更多

项目中准备使用Dubbo,运行官方的Provider和Consumer没有问题,自己写了个简单的SayHello进行测试,生产者启动后,通过DubboAdmin可以看到(不存在有人说的服务启动后又消失的问题),但启动生产者却报发下错误

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Failed to check the status of the service cn.feezu.carsearch.service.DemoService. No provider available for the service cn.feezu.carsearch.service.DemoService from the url zookeeper://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=consumer-of-helloworld-app&default.timeout=5000&dubbo=2.5.3&interface=cn.feezu.carsearch.service.DemoService&methods=sayHello&pid=8148&side=consumer&timestamp=1440572169099 to the consumer 10.10.8.101 use dubbo version 2.5.3
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:151)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1514)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:252)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973)
	at Main.main(Main.java:15)
Caused by: java.lang.IllegalStateException: Failed to check the status of the service cn.feezu.carsearch.service.DemoService. No provider available for the service cn.feezu.carsearch.service.DemoService from the url zookeeper://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=consumer-of-helloworld-app&default.timeout=5000&dubbo=2.5.3&interface=cn.feezu.carsearch.service.DemoService&methods=sayHello&pid=8148&side=consumer&timestamp=1440572169099 to the consumer 10.10.8.101 use dubbo version 2.5.3
	at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:420)
	at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300)
	at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138)
	at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:65)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:144)
	... 6 more

生产者的XML配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd 
       ">
    <dubbo:application name="hello-world-app" />
 
    <!--zookeeper注册中心 -->
    <dubbo:registry address="zookeeper://127.0.0.1:2181" />    
     
    <!--使用multicast广播注册中心暴露服务地址 -->
    <!-- <dubbo:registry address="multicast://10.10.8.101:20881" /> -->
    <dubbo:protocol name="dubbo" port="20881" />

    <dubbo:service
        interface="cn.feezu.carsearch.service.DemoService" ref="demoService" version="1.0"  />
         
    <!-- 和本地bean一样实现服务 -->
    <bean id="demoService"
        class="cn.feezu.carsearch.serviceImpl.DemoServiceImpl" />
</beans>

 消费者的XML配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans        
    http://www.springframework.org/schema/beans/spring-beans.xsd        
    http://code.alibabatech.com/schema/dubbo        
    http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
  
    <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
    <dubbo:application name="consumer-of-helloworld-app"  />
  
  	<!--zookeeper注册中心 -->
    <dubbo:registry address="zookeeper://127.0.0.1:2181" />    
  
  <dubbo:consumer timeout="5000"/>  
  
    <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
    <dubbo:reference id="demoService" interface="cn.feezu.carsearch.service.DemoService" />
  
</beans>

 

经过反复查找原因终于锁定了生产者XML文件中的version="1.0"

教训:如果生产者设定了服务的版本,消费者一定要提供相应的版本号(或空或写入对应的版本号)

 

如果有朋友不是这个问题,建议看看防火墙,有也在Dubbo的社区也问题过类似问题,梁飞的回复可能是防火墙的问题,建议关掉试下。

 

分享到:
评论
4 楼 wangming520liwei 2018-05-22  
1. 一般是防火墙的问题, 我的也是,服务好好的,本地就是无法get provider ,之后,关闭 provider 锁在的防火墙
3 楼 wokeke 2016-11-01  
snailke 写道
最后怎么解决的呢?

去掉版本、或保持一致
2 楼 snailke 2016-08-02  
最后怎么解决的呢?
1 楼 yy8093 2015-11-16  
so......最后是怎么解决的额?

相关推荐

    Dubbo+Dubbo生产者,Dubbo消费者+Dubbo消费者调用生产者的服务的小demo

    本项目案例“妻子”作为消费者去调用生产者(“丈夫”)的服务--洗碗 本项目需要注意 @DubboReference private HusbandService husbandService; @EnableDubbo @DubboService 这几个注解不能忘,否则会报错,或者...

    dubbo消费者的web应用实例

    通过`dubbo-spring-boot-starter`,我们可以轻松地启动Dubbo消费者应用。 五、服务调用过程 1. 初始化:Web应用启动时,Dubbo消费者会连接到注册中心,获取服务提供者的元数据。 2. 路由选择:当有请求来临时,...

    dubbo提供者消费者例子

    本示例将深入讲解Dubbo提供者和消费者的典型应用场景,以帮助理解Dubbo在实际编码中的应用。 首先,我们来看“provider”目录,这通常包含了服务提供者的相关代码。在Dubbo中,服务提供者是对外提供服务的一方,它...

    dubbo提供者消费者jar包

    在这个“dubbo2.4版本提供者provider消费者consumer jar包”中,包含了实现Dubbo服务提供者(Provider)和消费者(Consumer)功能的核心类库。 首先,我们要理解Dubbo的核心概念。服务提供者(Provider)是提供服务...

    dubbo配置文件报红叉错误解决方案-dubbo.xsd

    6. **服务提供者与消费者版本不一致**:如果服务提供者和服务消费者的Dubbo版本不同,可能会导致配置不兼容。确保所有参与交互的服务都使用相同版本的Dubbo。 7. **网络问题**:如果是通过网络加载xsd文件,网络...

    dubbo-zookeeper springSpringMVC 一个生产者,多消费者 例子

    1.dubbo-zookeeper springSpringMVC 一个生产者,多消费者 例子 2. ssm-dubbo 源码 ssm-tomcat 里放的是 warbao ,程序包 zookeeper-3.4.9 zookeeper 免安装包 设置都是默认的 zookeeper 端口 2181 dubbo-...

    Dubbo服务提供者以及消费者实例

    在这个实例中,我们将深入理解Dubbo服务提供者和服务消费者的运作模式。 首先,我们来探讨服务提供者(Provider)。在Dubbo中,服务提供者是指实现了某些功能并愿意对外提供服务的组件。服务提供者需要完成以下关键...

    dubbo例子(注册中心,消费者,提供者)

    4. **Dubbo配置**:在项目中,Dubbo的配置通常包括服务接口定义、服务提供者配置和服务消费者配置。例如,Provider需要配置服务的接口、实现类、注册中心地址等;Consumer则需配置要调用的服务名、注册中心地址等。...

    dubbo提供者和消费者工程

    《Dubbo提供者与消费者工程详解》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,已经成为Java世界中分布式服务的重要组件。在理解Dubbo的核心概念时,我们通常会接触到“提供者”和“消费者”这两...

    dubbo实现的消费者,提供者的demo

    这个名为"Dubbo实现的消费者,提供者的demo"的项目,旨在通过实例演示如何使用Dubbo来创建服务消费者和服务提供者,并将它们进行模块化的拆分。下面,我们将深入探讨这些关键知识点。 1. **Dubbo架构核心组件**: ...

    dubbo生产者消费者使用demo

    《Dubbo生产者消费者使用Demo详解》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,已经成为Java世界中分布式服务的重要选择。本文将深入解析如何在实际项目中运用Dubbo,通过一个简单的生产者消费...

    dubbo提供者和消费者例子

    本示例将深入讲解 Dubbo 的提供者(Provider)与消费者(Consumer)的概念及其工作原理。 首先,我们要了解在 Dubbo 中的核心角色——服务提供者(Provider)和服务消费者(Consumer)。服务提供者是拥有服务的实体...

    dubbo-provider-consumer生产者消费者实例

    在这个"**dubbo-provider-consumer生产者消费者实例**"中,我们将深入理解 Dubbo 的核心概念——生产者(Provider)和消费者(Consumer)。 首先,生产者(Provider)是服务的提供方,它负责将服务注册到服务中心...

    基于注解、SpringBoot的Dubbo提供者消费者DEMO

    例如,`@Service`和`@Reference`这两个Dubbo注解分别用于标记服务提供者和服务消费者。 1. **服务提供者(Provider)**:在Dubbo中,服务提供者是对外提供服务的组件。通过`@Service`注解,我们可以将一个普通的...

    dubbo-service 实现

    5. **启动与测试**:在服务提供者的主类中启动服务,然后在服务消费者的主类中调用服务。你可以编写简单的测试用例来验证服务是否正常工作,如调用服务方法并打印返回结果。 6. **监控与治理**:Dubbo提供了丰富的...

    Dubbo生产者消费者示例源代码(基于Eclipse的Maven项目)

    Dubbo生产者消费者示例源代码,Eclipse项目,基于Maven构建,可以直接导入Eclipse开发环境,本人亲测,编译通过,可以直接在Eclipse中运行(包含Main方法),先运行提供者,再运行生产者。

    linux下 zookkeeper 查看dubbo消费者生产者.txt

    资料总结linux下 zookkeeper 查看dubbo消费者生产者.txt

    dubbo消费者

    学习地址http://blog.csdn.net/u012385190/article/details/52785520

    解决dubbo启动报错的问题

    解决dubbo启动报错,加载失败问题。

    dubbo快速启动案例

    - Dubbo的版本兼容性问题:确保服务提供者和服务消费者的Dubbo版本一致。 - 配置文件的正确性:仔细检查`application.properties`或其它配置文件中的参数是否正确无误。 - 网络通信:确保服务提供者和消费者之间...

Global site tag (gtag.js) - Google Analytics