dubbo-spring-boot的auto-configure示例報Not found exported service的解決辦法

本示例基於dubbo-spring-boot-project 2.7.3版本,可能會根據新版的發佈而過期,閱讀時請注意。git

關於dubbo在spring-boot中該如何使用,網上有不少例子,但由於時間跨度過久,不少例子已通過時了,一切仍是要以官方的例子爲準。github

在github上搜索dubbo和spring-boot整合的項目的話,可能會找到下面兩個,分別是spring

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

第一個項目,已經歸檔了(archived),再也不更新,因此咱們要以第二個項目爲準,千萬別搞錯了。apache

打開第二個項目的主頁,就開始瀏覽README中的Getting Started章節。 這個章節給咱們展現了一個無註冊中心(dubbo.registry.address=N/A)的例子。ide

可是它卻跑不起來,消費者啓動後沒法找到service provider,報Not found exported service的錯誤。spring-boot

解決辦法以下:
須要在消費者Reference服務提供者時,url裏指明version。其實version已經指明瞭,但不知爲什麼還要在url裏再次指定。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中的依賴。code

源碼地址:https://github.com/kongxiangxin/dubbo-spring-boot-samplesget

相關文章
相關標籤/搜索