1. 程式人生 > >SpringMVC整合阿里的dubbo框架

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包,在Linuxtomcat部署,先把dubbo-admin-2.4.1放在tomcatwebapps/ROOT下,然後進行解壓:

        #jar -xvf dubbo-admin-2.4.1.war

    (2)然後到webapps/ROOT/WEB-INF下,有一個dubbo.properties

檔案,裡面指向Zookeeper ,使用的是Zookeeper 的註冊中心,內容為:

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:

稍後補充: