Dubbo 学习遇到的问题

问题目录

  • 构建dubbo项目时,IntelliJ Idea出现Could not autowire. No beans of 'xxxx' type found的错误提示
  • 关于dubbo+zookeeper进行分布式远程调用时No provider available from registry出错

构建dubbo项目时,IntelliJ Idea出现Could not autowire. No beans of ‘xxxx’ type found的错误提示

1、问题描述
在Idea的spring工程里,经常会遇到Could not autowire. No beans of ‘xxxx’ type found的错误提示。但程序的编译和运行都是没有问题的,这个错误提示并不会产生影响。但红色的错误提示在有些有强迫症的程序员眼里,多多少少有些不太舒服。
在这里插入图片描述
2、解决方案
降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。
Dubbo 学习遇到的问题_第1张图片
发现不在提示无法注入bean:
在这里插入图片描述
3、还有一种原因是可能导入的注解包有误
最容易导入的错误包,如下所示:

importcom.alibaba.dubbo.config.annotation.Service;

正确的包应该是下面这个

importorg.springframework.stereotype.Service;

参考博客:https://www.jianshu.com/p/54f804abc634

关于dubbo+zookeeper进行分布式远程调用时No provider available from registry出错

1、错误信息:

No provider available from registry 192.168.18.54:2181 for service com.dubbo.consumer.service.ProviderHelloService on consumer 192.168.18.54: use dubbo version 2.6.0, may be providers disabled or not registered ?

2、dubbo 配置


<dubbo:service interface="com.yq.dubbo.service.DemoService" ref="demoService" version="1.0.0"/>

<dubbo:reference id="demoService" interface="com.yq.dubbo.service.impl.DemoService" version="1.0.0" retries="3"/>

3、原因分析
发现这里的interface后面配置的service的路径不同,所以在zookeeper中找不到相对应的服务就会报错。只需要将consumer的xml的配置文件的调用的service的路径和提供者的包路径相同就可以。就可以避免No provider available from registry出错。

参考博客:https://blog.csdn.net/qq_33630974/article/details/80706405

你可能感兴趣的:(Dubbo)