1. 程式人生 > >dubbo、zookeeper、Spring整合例項

dubbo、zookeeper、Spring整合例項

在window中實現,記錄一下,防止備忘!簡單的配置!,只是防止自己忘記

1.到官網下載zookeeper,修改zoo_sample.cfg為zoo.cfg ,開啟增加dataDir=D:\\zookeeper-3.4.6\\datadataLogDir=D:\\zookeeper-3.4.6\\log 配置。


2.啟動zookeeper,啟動的時候 zkServer 不新增start引數。(原來在liunx下啟動新增,故在windows下新增,一直報錯,後來發現沒有start引數)。

3.配置tomcat,把dubbo-admin新增到tomcat下,修改配置檔案。dubbo.properties。把註冊地址修改為zookeeper的註冊中心地址。。


4.啟動tomcat,開啟dubbo-admin應用。輸入使用者名稱密碼,預設都是root,進入dubbo首頁。

5.新建web專案server端和client端,把dubbo下的jar拷到lib下,然後在新增一個aspectjweaver-1.5.3.jar的jar包。

server端配置spring.xml,增加一個dubbo.cfg.xml,並新增到spring.xml檔案中,

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
	http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
	 http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd 
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"
	default-lazy-init="false">
	<!-- 提供方應用名稱資訊,這個相當於起一個名字,我們dubbo管理頁面比較清晰是哪個應用暴露出來的 -->
	<dubbo:application name="dubbo_provider"></dubbo:application>
	<!-- 使用zookeeper註冊中心暴露服務地址 -->
	<dubbo:registry address="zookeeper://127.0.0.1:2181" check="false" subscribe="false" ></dubbo:registry>
	<!-- 要暴露的服務介面 -->
	<dubbo:service interface="com.TestRegistryService" ref="testRegistryService" register=""/>
	<!-- 介面實現類 -->
	<bean id="testRegistryService" class="com.impl.DemoServerImpl" />
</beans>
6.部署啟動專案。在dubbo中可以看到,說明部署成功!


7。編寫客戶端,我就簡單的測試一下。。。也是配置一個xml檔案,然後新增到spring配置檔案中。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
	http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
	 http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd 
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"
	default-lazy-init="false">
	<!-- 提供方應用名稱資訊,這個相當於起一個名字,我們dubbo管理頁面比較清晰是哪個應用暴露出來的 -->
	<dubbo:application name="dubbo_provider"></dubbo:application>
	<!-- 使用zookeeper註冊中心暴露服務地址 -->
	<dubbo:registry address="zookeeper://10.103.9.20:2181"  check="false" file="false" ></dubbo:registry>
	<!-- 要暴露的服務介面 -->
	<dubbo:reference id="testRegistryService" interface="com.TestRegistryService" check="false"></dubbo:reference>
	
</beans>

8.客戶端簡單測試一下,如圖:

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
		
TestRegistryService hello=(TestRegistryService) context.getBean("testRegistryService");
		
System.out.println(hello.hello("nihao"));

至此,配置成功

注意:我在客戶端 配置時有如下錯誤,刪除紅色的配置,原因沒有看。。。。

<dubbo:registry address="zookeeper://10.103.9.20:2181" check="true"  subscribe="false"  file="false" ></dubbo:registry>