项目中准备使用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×tamp=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×tamp=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的社区也问题过类似问题,梁飞的回复可能是防火墙的问题,建议关掉试下。
相关推荐
本项目案例“妻子”作为消费者去调用生产者(“丈夫”)的服务--洗碗 本项目需要注意 @DubboReference private HusbandService husbandService; @EnableDubbo @DubboService 这几个注解不能忘,否则会报错,或者...
通过`dubbo-spring-boot-starter`,我们可以轻松地启动Dubbo消费者应用。 五、服务调用过程 1. 初始化:Web应用启动时,Dubbo消费者会连接到注册中心,获取服务提供者的元数据。 2. 路由选择:当有请求来临时,...
本示例将深入讲解Dubbo提供者和消费者的典型应用场景,以帮助理解Dubbo在实际编码中的应用。 首先,我们来看“provider”目录,这通常包含了服务提供者的相关代码。在Dubbo中,服务提供者是对外提供服务的一方,它...
在这个“dubbo2.4版本提供者provider消费者consumer jar包”中,包含了实现Dubbo服务提供者(Provider)和消费者(Consumer)功能的核心类库。 首先,我们要理解Dubbo的核心概念。服务提供者(Provider)是提供服务...
6. **服务提供者与消费者版本不一致**:如果服务提供者和服务消费者的Dubbo版本不同,可能会导致配置不兼容。确保所有参与交互的服务都使用相同版本的Dubbo。 7. **网络问题**:如果是通过网络加载xsd文件,网络...
1.dubbo-zookeeper springSpringMVC 一个生产者,多消费者 例子 2. ssm-dubbo 源码 ssm-tomcat 里放的是 warbao ,程序包 zookeeper-3.4.9 zookeeper 免安装包 设置都是默认的 zookeeper 端口 2181 dubbo-...
在这个实例中,我们将深入理解Dubbo服务提供者和服务消费者的运作模式。 首先,我们来探讨服务提供者(Provider)。在Dubbo中,服务提供者是指实现了某些功能并愿意对外提供服务的组件。服务提供者需要完成以下关键...
4. **Dubbo配置**:在项目中,Dubbo的配置通常包括服务接口定义、服务提供者配置和服务消费者配置。例如,Provider需要配置服务的接口、实现类、注册中心地址等;Consumer则需配置要调用的服务名、注册中心地址等。...
《Dubbo提供者与消费者工程详解》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,已经成为Java世界中分布式服务的重要组件。在理解Dubbo的核心概念时,我们通常会接触到“提供者”和“消费者”这两...
这个名为"Dubbo实现的消费者,提供者的demo"的项目,旨在通过实例演示如何使用Dubbo来创建服务消费者和服务提供者,并将它们进行模块化的拆分。下面,我们将深入探讨这些关键知识点。 1. **Dubbo架构核心组件**: ...
《Dubbo生产者消费者使用Demo详解》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,已经成为Java世界中分布式服务的重要选择。本文将深入解析如何在实际项目中运用Dubbo,通过一个简单的生产者消费...
本示例将深入讲解 Dubbo 的提供者(Provider)与消费者(Consumer)的概念及其工作原理。 首先,我们要了解在 Dubbo 中的核心角色——服务提供者(Provider)和服务消费者(Consumer)。服务提供者是拥有服务的实体...
在这个"**dubbo-provider-consumer生产者消费者实例**"中,我们将深入理解 Dubbo 的核心概念——生产者(Provider)和消费者(Consumer)。 首先,生产者(Provider)是服务的提供方,它负责将服务注册到服务中心...
例如,`@Service`和`@Reference`这两个Dubbo注解分别用于标记服务提供者和服务消费者。 1. **服务提供者(Provider)**:在Dubbo中,服务提供者是对外提供服务的组件。通过`@Service`注解,我们可以将一个普通的...
5. **启动与测试**:在服务提供者的主类中启动服务,然后在服务消费者的主类中调用服务。你可以编写简单的测试用例来验证服务是否正常工作,如调用服务方法并打印返回结果。 6. **监控与治理**:Dubbo提供了丰富的...
Dubbo生产者消费者示例源代码,Eclipse项目,基于Maven构建,可以直接导入Eclipse开发环境,本人亲测,编译通过,可以直接在Eclipse中运行(包含Main方法),先运行提供者,再运行生产者。
资料总结linux下 zookkeeper 查看dubbo消费者生产者.txt
学习地址http://blog.csdn.net/u012385190/article/details/52785520
解决dubbo启动报错,加载失败问题。
- Dubbo的版本兼容性问题:确保服务提供者和服务消费者的Dubbo版本一致。 - 配置文件的正确性:仔细检查`application.properties`或其它配置文件中的参数是否正确无误。 - 网络通信:确保服务提供者和消费者之间...