dubbo、zookeeper、Spring整合例項
阿新 • • 發佈:2019-02-02
在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檔案中,
6.部署啟動專案。在dubbo中可以看到,說明部署成功!<?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>
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>