您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)spring|springboot集成dubbo的操作過程,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
現(xiàn)在國內(nèi)中小公司,遠(yuǎn)程調(diào)用基本上用的都是dubbo ,當(dāng)然小刀的公司也不例外,我們以前用的是dubbo 2.4.x的版本,雖然也能使用,但是本著新項目新技術(shù)的追求,我們更新成了dubbo 2.7.x 的版本
引入dubbo , zk的jar包
@ImportResource({"classpath*:dubbo/*.xml"})public class Start extends SpringBootServletInitializer
dubbo.properties內(nèi)容如下:
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上應(yīng)該可以看到應(yīng)用注冊上去了
借著上一波用gradle搭的多模塊的架子,今天我們來往里面添加dubbo
官方文檔:
https://github.com/apache/dubbo-spring-boot-project
先引入相關(guān)的依賴,這里就要注意了,依賴放在service層,因為是service層才需要提供dubbo服務(wù)出去. 當(dāng)然為了省事的話,也可以放到business-impl里面,因為我們通過會調(diào)用別的項目的dubbo接口,但是嚴(yán)格來說,基礎(chǔ)服務(wù)類的應(yīng)用,只從自己的數(shù)據(jù)庫取數(shù)據(jù),然后通過dubbo接口返回給業(yè)務(wù)應(yīng)用.所以在基礎(chǔ)應(yīng)用中,只能把依賴引在service層,業(yè)務(wù)應(yīng)用可以直接引在business-impl層
服務(wù)提供層
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中進(jìn)行配置:
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
此時代碼目錄結(jié)構(gòu)為:
其中,在實現(xiàn)類上,需要添加以下兩個注解:
@Service@Componentpublic class ItemServiceImpl implements ItemService
注意是dubbo包里面的service注解
然后我們在dubbo-admin中可以看到我們啟動的服務(wù)
這邊就很簡單了,一句話搞定,把以前我們寫的@Autowire 換成dubbo包內(nèi)的 @Reference
就可以了
配置文件中只需要引注冊地址就可以了,
dubbo.application.name=xxxx-xxxxdubbo.registry.address=zookeeper://zookeeper.xxx.com:30038
以上就是spring|springboot集成dubbo的操作過程,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。