spring boot配置dubbo(XML)
生活随笔
收集整理的這篇文章主要介紹了
spring boot配置dubbo(XML)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇寫的是spring boot在自己的properties配置文件中簡單配置dubbo的步驟,那種配置有很多的功能(比如超時時間、是否檢查)等等,配置起來也挺麻煩的,而我們也習慣傳統的那種XML形式的dubbo配置。
這一篇寫的是spring boot與傳統的dubbo xml文件的結合。
一、dubbo發布方配置
1、首先引入依賴,但是這些依賴就不是上一篇的那個spring boot dubbo的依賴,而是dubbo自己的那幾個依賴,引錯了,會發布不成功的,我是配置的如下:
<!-- 如果dubbo的配置來自于單獨的xml文件,不是來自于spring boot的application配置文件那么,導入dubbo相關包,必須單獨導入,不能用spring boot和dubbo的jar包--> <dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.8</version><exclusions><!--如果你用的logback日志,該包會引起jar包沖突--><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions> </dependency> <dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.3</version> </dependency> <dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.5.3</version><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring</artifactId></exclusion></exclusions> </dependency>2.然后在src/main/resources下,添加一個dubbo provider的配置文件dubbo-provider.xml (名字隨便起),內容如下:
<!-- 提供方應用名稱信息,這個相當于起一個名字,我們dubbo管理頁面比較清晰是哪個應用暴露出來的 --><dubbo:application name="dubbo-provider-qssj"/><!-- 使用zookeeper注冊中心暴露服務地址 --><dubbo:registry protocol="zookeeper" address="192.168.1.160:2181" /><dubbo:protocol name="dubbo" port="31001" /><dubbo:service interface="test.spring.dubboService.TestDubboService" ref="testDubboService" timeout="1800000" version="1.0.0.1"/><bean id="testDubboService" class="test.spring.dubboService.impl.TestDubboServiceImpl"/>以上內容與傳統的dubbo xml配置文件沒什么區別,可以從網上搜到。
3.然后也是需要在發布接口的實現類上加@Service 注解,但是這個注解就變成了org.springframework.stereotype.Service 。具體如下。
package test.spring.dubboService.impl; import org.springframework.stereotype.Service; import test.spring.dubboService.TestDubboService;@Service public class TestDubboServiceImpl implements TestDubboService {@Overridepublic String getName(String name) {// TODO Auto-generated method stubreturn "姓名:"+name;} }4.最后啟動類引入以下該dubbo-provider.xml 文件,如下:
package test.spring; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ImportResource;@SpringBootApplication //spring boot啟動必須引入的注解 @ImportResource({"classpath:dubbo-provider.xml"}) public class SpringBootTest {public static void main(String[] args) {SpringApplication.run(SpringBootTest.class, args);} }5.最后運行啟動類,就會在dubbo上看到該發布的接口。
6.發布方的最終項目結構如下:
結構與上一篇那種springboot 的properties配置dubbo沒什么區別。
二、調用方項目配置
1、依然是先引入依賴,與上邊發布方的依賴是一樣的。
2、然后在src/main/resources下添加一個dubbo-consumer.xml 配置文件,內容如下:
<!-- 消費方應用名,用于計算依賴關系,不是匹配條件,不要與提供方一樣 --> <dubbo:application name="dubbo-consumer-qssj" /> <dubbo:consumer timeout="1800000" retries="0" /> <dubbo:registry protocol="zookeeper" address="192.168.1.160:2181" /> <dubbo:reference id="testDubboService" interface="test.spring.dubboService.TestDubboService" check="false" version="1.0.0.1"/>3.然后復制一份test.spring.dubboService.TestDubboService 接口放到消費者這邊,如下:
多說一句,用這種方式配置,controller的位置不需要比調用的dubbo接口位置低。
4.調用的地方加入@Autowired 注解,如下:
package test.spring.dubboService.controller;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import test.spring.dubboService.TestDubboService; @RestController public class TestController {@AutowiredTestDubboService testDubboService;@RequestMapping(value="abc/akf",method=RequestMethod.GET)public String abc(String name){ return testDubboService.getName(name);} }5.在啟動類引入dubbo-consumer.xml ,具體如下:
package test.spring;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ImportResource;@SpringBootApplication //spring boot啟動必須引入的注解 @ImportResource({"classpath:dubbo-consumer.xml"}) public class SpringBootTest {public static void main(String[] args) {SpringApplication.run(SpringBootTest.class, args);} }6.運行啟動類,訪問controller,則看到調用成功。
下一篇說下spring boot配置dubbo注意的問題。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的spring boot配置dubbo(XML)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python精要(79)-模块与包组织(
- 下一篇: c++计算-eigen(1)