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

本示例基於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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章