您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页【最详细】dubbo启动消费者报错:No provider available for the service

【最详细】dubbo启动消费者报错:No provider available for the service

来源:爱够旅游网

java.lang.IllegalStateException: Failed to check the status of the service com.pinyougou.sellergoods.service.SellerService. No provider available for the service com.pinyougou.sellergoods.service.SellerService from the url zookeeper://192.168.3.1:2181/c

这个错误也是比较让人头疼的,由于对dubbo底层不是很了解,所以一直难以找到根本原因,在网上找了很多文章,解决方案有以下三种。

1、就是我们在运行的时候,消费者和提供者执行的先后顺序有问题导致的错误,比如我们执行消费者的时候,就要把所有消费者需要用到的提供者先启动起来,再运行消费者。如果不先运行提供者的话就会报这样的错误

2、

  • 修改Dubbo服务端spring配置文件中dubbo发布信息:

  • 在Dubbo消费端spring配置文件dubbo消费信息中,添加如下一行:

3、

Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。

如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果check=false,总是会返回引用,当服务恢复时,能自动连上。

可以通过check="false"关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。

1、关闭某个服务的启动时检查:(没有提供者时报错)
<dubbo:reference interface="com.foo.BarService" check="false" />

2、关闭所有服务的启动时检查:(没有提供者时报错)  写在定义服务消费者一方
<dubbo:consumer check="false" />

3、关闭注册中心启动时检查:(注册订阅失败时报错)
<dubbo:registry check="false" /> 

即在我上面的代码截图中 后面加上 check="false",图中是我已经加过了

 

以上三种解决方案,是可以彻底解决问题的,至于具体原因,文章中我也写到,大家可以深入研究,希望可以帮到大家。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务