SpringMVC整合阿里的dubbo框架
Dubbo |ˈDʌBəʊ|是一個高效能的基於RPC的java開源框架由阿里巴巴 (摘錄自dubbo.io官方網站)
下面我們來整合下Maven+Spring+dubbo。提供一個服務者服務
1、使用zookeeper註冊中心暴露服務地址,需要下載zookeeper-3.4.6,並安裝配置zookeeper.
共享連結:連結:https://pan.baidu.com/s/1geYmFrP 密碼:19lz
1、先將zookeeper解壓 2、進入zookeeper-3.4.6\conf 3、將zoo_sample.cfg 重新命名為 zoo.cfg 4、開啟並編輯dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\tmp 5. 與Java中的做法類似,我們在系統環境變數中新增: a. 在系統變數中新增ZOOKEEPER_HOME = D:\Java\Tool\zookeeper-3.4.6 b. 編輯path系統變數,新增為路徑%ZOOKEEPER_HOME%\bin; 6. 在zoo.cfg檔案中修改預設的Zookeeper埠(預設埠2181) 7、開啟cmd 輸入zkServer 啟動Zookeeper
2、在專案中新增相關的依賴
3、編寫服務類並配置spring.xml
4、啟動服務
5、我們新增一個dubbo服務的監控的war包,把它放到tomcat下,下載地址:連結:https://pan.baidu.com/s/1eREBYts 密碼:bri7
下載dubbo-admin-2.4.1.war包,在Linux的tomcat部署,先把dubbo-admin-2.4.1放在tomcat的webapps/ROOT下,然後進行解壓:
#jar -xvf dubbo-admin-2.4.1.war
(2)然後到webapps/ROOT/WEB-INF下,有一個dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
(3)然後啟動tomcat服務,使用者名稱和密碼:root,並訪問服務,顯示登陸頁面,說明dubbo-admin部署成功,如圖所示:
我們可以看到我們釋出的服務:
到此為止我們的服務已經發布出去了,下一步我們將實現服務介面的呼叫
在上面我們建立了服務,我們還需要提供一個jar包,裡面包含我們的介面。單純的一個java小專案然後匯出成一個jar包就可以,如圖:
匯出的jar包放到我們的customer專案中。然後加入到build path中。
customer專案中的pom.xml和上面一樣,只是spring.xml內容不一樣了,如圖
這裡我們訂閱了zookeeper註冊中心的這個服務,呼叫:
package com.zpl.customer.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.zpl.dubbo.IDubboProviderService;
@Controller
public class DubboCustomerController {
@Autowired
private IDubboProviderService demoService;
@RequestMapping("hello")
public void say(String str){
String s=demoService.sayHello("你好啊");
System.out.println(s);
}
}
啟動服務後我們可以看到打印出來: Hello 你好啊。
有一點忘記說了。
在spring.xml中引用dubbo標籤的時候報錯,原因是我們沒有將dubbo的xsd檔案引進來,我們需要在maven本地倉庫中找到阿里的dubbo.jar包。解壓後找到dubbo.xsd
這個檔案,然後配置到eclipse的xml設定中,如:
這樣以後clean下專案 然後maven update下就可以了。
dubbo的使用這裡只是簡單的應用,後期如果用到複雜的遇到問題我們在說。。。
有必要說下zookeeper:
稍後補充: