您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關spring|springboot集成dubbo的操作過程,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
現在國內中小公司,遠程調用基本上用的都是dubbo ,當然小刀的公司也不例外,我們以前用的是dubbo 2.4.x的版本,雖然也能使用,但是本著新項目新技術的追求,我們更新成了dubbo 2.7.x 的版本
引入dubbo , zk的jar包
@ImportResource({"classpath*:dubbo/*.xml"})public class Start extends SpringBootServletInitializer
dubbo.properties內容如下:
dubbo.container=logback,springdubbo.application.name=dubbo-servicedubbo.registry.address=zookeeper://zookeeper.xxx.com:2181dubbo.log4j.file=logs/dubbo-service.logdubbo.log4j.level=WARNdubbo.protocol.port=20782dubbo.protocol.dispatcher=messagedubbo.protocol.threadpool=fixeddubbo.protocol.threads=200
還有dubbo.provider.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:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:service timeout="30000" interface="com.xxx.xxx.xxxxService" ref="xxxxService"/>
</beans>
這時候去dubbo-admin上應該可以看到應用注冊上去了
借著上一波用gradle搭的多模塊的架子,今天我們來往里面添加dubbo
官方文檔:
https://github.com/apache/dubbo-spring-boot-project
先引入相關的依賴,這里就要注意了,依賴放在service層,因為是service層才需要提供dubbo服務出去. 當然為了省事的話,也可以放到business-impl里面,因為我們通過會調用別的項目的dubbo接口,但是嚴格來說,基礎服務類的應用,只從自己的數據庫取數據,然后通過dubbo接口返回給業務應用.所以在基礎應用中,只能把依賴引在service層,業務應用可以直接引在business-impl層
服務提供層
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
compile group: 'org.apache.dubbo', name: 'dubbo-spring-boot-starter', version: '2.7.1'
compile (group: 'org.apache.dubbo', name: 'dubbo-dependencies-zookeeper', version: '2.7.2')
{
exclude group:'org.slf4j'
}
compile ('org.apache.dubbo:dubbo:2.7.2'){
exclude group: 'org.springframework'
exclude group: 'javax.servlet'
exclude group: 'log4j'
}
application.properties中進行配置:
dubbo.application.name=forest-servicedubbo.registry.address=zookeeper://zookeeper.xxx.com:30038dubbo.protocol.name=dubbodubbo.protocol.port=21899dubbo.config-center.address=zookeeper://zookeeper.xxx.com:30038dubbo.metadata-report.address=zookeeper://zookeeper.xxx.com:30038dubbo.scan.base-packages=com.platform.market.service.impl
此時代碼目錄結構為:
其中,在實現類上,需要添加以下兩個注解:
@Service@Componentpublic class ItemServiceImpl implements ItemService
注意是dubbo包里面的service注解
然后我們在dubbo-admin中可以看到我們啟動的服務
這邊就很簡單了,一句話搞定,把以前我們寫的@Autowire 換成dubbo包內的 @Reference
就可以了
配置文件中只需要引注冊地址就可以了,
dubbo.application.name=xxxx-xxxxdubbo.registry.address=zookeeper://zookeeper.xxx.com:30038
以上就是spring|springboot集成dubbo的操作過程,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。