dubbospringboot的autoconfigure示例找不到服务的解决办法

26次阅读

共计 810 个字符,预计需要花费 3 分钟才能阅读完成。

本示例基于 dubbo-spring-boot-project 2.7.3 版本,可能会根据新版的发布而过时,阅读时请注意。

关于 dubbo 在 spring-boot 中该如何使用,网上有很多例子,但因为时间跨度太久,很多例子已经过时了,一切还是要以官方的例子为准。

在 github 上搜索 dubbo 和 spring-boot 整合的项目的话,可能会找到下面两个,分别是

  1. alibaba / dubbo-spring-boot-starter
  2. apache / dubbo-spring-boot-project

第一个项目,已经归档了(archived),不再更新,所以我们要以第二个项目为准,千万别搞错了。

打开第二个项目的主页,就开始浏览 README 中的 Getting Started 章节。这个章节给我们展示了一个无注册中心(dubbo.registry.address=N/A)的例子。

但是它却跑不起来,消费者启动后无法找到 service provider,报 Not found exported service 的错误。

解决办法如下:
需要在消费者 Reference 服务提供者时,url 里指明 version。其实 version 已经指明了,但不知为何还要在 url 里再次指定。

//  @Reference(version = "1.0.0", url = "dubbo://127.0.0.1:12345")
    @Reference(version = "1.0.0", url = "dubbo://127.0.0.1:12345?version=1.0.0")
    private DemoService demoService;

另外,Getting Started 中的 pom 依赖也比较简略,省略了 spring-boot 原本需要的依赖,您可以参考我这个修复版里 pom 中的依赖。

源码地址:https://github.com/kongxiangxin/dubbo-spring-boot-samples

正文完
 0