日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dubbo与springboot的集成

發布時間:2025/6/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dubbo与springboot的集成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1.添加dubbo-spring-boot-starter依賴

<!-- dubbo依賴 --><dependency><groupId>com.alibaba.spring.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.0.0</version></dependency>

2.添加zookeeper依賴

<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.6</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion></exclusions></dependency>

3.添加zkclient依賴

<dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency>

4.新建個普通的java工程,用來定義服務(API接口),如下:

package com.example.dubboTestApi.api;public interface SayHelloApi {String say(String name); }

5.新建一個springboot類型的服務實現工程,具體見springboot創建功能文章

6.配置文件修改:

#WEB服務端口 server.port=8081## dubbo 配置 spring.dubbo.application.id=live-dubbo-provider spring.dubbo.application.name=live-dubbo-provider spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 spring.dubbo.server=true spring.dubbo.protocol.name=dubbo spring.dubbo.protocol.port=20880

7.啟動類修改,增加@EnableDubboConfiguration注解

@EnableDubboConfiguration @SpringBootApplication public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);} }

8.服務實現,先添加API接口依賴

<dependency><groupId>com.example.dubboTestApi</groupId><artifactId>dubboTestApi</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

?注意這里加了一個retries = 0,默認情況下超時時dubbo會自動重掉三次,這樣的重復調用很容易導致一些問題,所以這里用retries = 0來關閉超時重試功能。

@Service(interfaceClass = SayHelloApi.class,retries = 0) @Component public class SayHelloApiService implements SayHelloApi{@Overridepublic String say(String name) {if(StringUtils.isBlank(name)){return "error,name is blank";}return name + ",hello dubbo api";}}

9.新建一個springboot類型的服務調用工程,具體見springboot創建功能文章

10.添加dubbo,zookeeper,zkclient相關依賴。

11.配置文件修改

## WEB服務端口 server.port=8082## Dubbo 配置 spring.dubbo.application.name=live-dubbo-consumer spring.dubbo.application.id=live-dubbo-consumer spring.dubbo.protocol.port=20800 spring.dubbo.protocol.name=dubbo spring.dubbo.registry.address=zookeeper://127.0.0.1:2181

12.修改啟類:

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;@EnableDubboConfiguration @SpringBootApplication public class DubboConsumerTestApplication {public static void main(String[] args) {SpringApplication.run(DubboConsumerTestApplication.class, args);} }

?

13.添加api接口依賴

<dependency><groupId>com.example.dubboTestApi</groupId><artifactId>dubboTestApi</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

14.創建使用api例子

?

import org.springframework.stereotype.Component; import com.alibaba.dubbo.config.annotation.Reference; import com.example.dubboTestApi.api.SayHelloApi;@Component public class DubboConsumerTest {@Referenceprivate SayHelloApi sayHelloApi;public String testSay(){System.out.println(sayHelloApi.say("dubbo"));return "dubbo test success";}}

15.另外,為了便于理解,上面分成三個項目,API定義,服務提供,服務消費 。但是一個應用,既可以提供服務,也可以調用其他項目提供的服務。,一般也是這樣的情況。

16.注意事項

默認情況下,服務端沒啟動,消費端是不能啟動的。可以配置一下讓消費端啟動的時候不去檢查服務是否存在。

spring.dubbo.reference.check=false  

另外,dubbo默認超時會重試兩次,這樣的重試有時會產生很大問題,所以建議關閉。關閉有兩種方式:

在服務上加注解:

@Service(interfaceClass = AccountUpdateApi.class,retries = -1)  注意這里重試次數寫成-1,經測試,dubbo版本(2.6.0)寫成0無效。

另一種方式,配置文件:

spring.dubbo.provider.retries=-1

?

17.安裝dubbo admin后(安裝非常簡單,直接將war包放在tomcat下運行即可),可以在頁面查看服務情況

?

?

?

需要項目代碼,可以發郵件zhuyuehua110@163.com

轉載于:https://www.cnblogs.com/zhuyuehua/p/9405495.html

總結

以上是生活随笔為你收集整理的dubbo与springboot的集成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。