本示例基於dubbo-spring-boot-project 2.7.3版本,可能會根據新版的發佈而過期,閱讀時請注意。git
關於dubbo在spring-boot中該如何使用,網上有不少例子,但由於時間跨度過久,不少例子已通過時了,一切仍是要以官方的例子爲準。github
在github上搜索dubbo和spring-boot整合的項目的話,可能會找到下面兩個,分別是spring
第一個項目,已經歸檔了(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