1. 程式人生 > >dubbo框架xml配置實現

dubbo框架xml配置實現

dubbo框架是一個RPC框架,即遠端呼叫的框架;

正常的情況下,一個消費者(consumer),一個生產者(provider),在本次demo中為了便於管理我新加入了一個api

專案。在api中只有生產者提供給消費者的介面,然後由生產者實現介面,消費者最後遠端呼叫。

關於dubbo的實現原理,與zookeeper的關係等這裡不描述,僅僅記錄xml的配置及一些注意點。直接貼配置程式碼


dubbo:application name="xxx" 這裡的專案名可以隨便寫。目的是為了在註冊中心區分消費者與生產者

dubbo:registry protocol =“zookeeper” address=“127.0.0.1:2181”這裡是宣告註冊中心用的協議方式,與註冊中心地址。在我這裡用的是zookeeper。地址也是本機的。

dubbo:protocol name=“dubbo” port=“8093”這裡是宣告dubbo框架中生產者提供服務的方式與埠,要防止埠衝突

dubbo:service interface=“xx.xx.xxservice”ref="xxxImpl" retries="1" timeout=“6000”

這裡是生產者提供服務的關鍵配置 interface 是指宣告服務的介面,ref是指這個介面的實現類,這裡是提供服務的具體實現

retries是指重新請求次數,timeout是指超時時間 


這是我統一宣告實現類的bean。只需要宣告具體class就行了。這裡就是provider 的完整配置,啟動服務之前要先啟動zookeeper。要注意zookeeper的地址要跟你配置的地址相同。啟動專案的時候讀取配置檔案。成功之後在dubbo_admin專案中就可以看見生產者欄目出現了你剛剛寫的application name 

關於消費者的配置也是很相似


這裡的註冊中心address我用的是192.168.23.69,這個是我本機ip證明用本地回送地址和本地ip地址都可識別

在這裡dubbo:reference id=“”interface=“”一個是宣告呼叫服務id後面是宣告服務的介面。要注意這裡的介面跟provider裡面配置的介面一定要是同一個。

配置很簡單,在這個demo中我多加了一個api的專案就是為了便於介面管理。將api專案打成jar 包,讓consumer和provider專案都引入這個包,這樣的介面就不會出現問題