亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot接口或方法進行失敗重試的實現(xiàn)方式

 更新時間:2024年07月23日 09:25:27   作者:會飛的青蛙~  
為了防止網(wǎng)絡抖動,影響我們核心接口或方法的成功率,通常我們會對核心方法進行失敗重試,如果我們自己通過for循環(huán)實現(xiàn),會使代碼顯得比較臃腫,所以本文給大家介紹了SpringBoot接口或方法進行失敗重試的實現(xiàn)方式,需要的朋友可以參考下

1. 前言

為了防止網(wǎng)絡抖動,影響我們核心接口或方法的成功率,通常我們會對核心方法進行失敗重試,如果我們自己通過for循環(huán)實現(xiàn),會使代碼顯得比較臃腫

2. Springboot提供了比較優(yōu)雅的實現(xiàn)方式

第一步:pom中引入spring-retry 因為retry是基于aop實現(xiàn)的 所以這里還需要引入spring aop

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

第二步:啟動類上開啟spiring-retry模塊

第三步:在需要失敗重試方法上加@Retryable注解

參數(shù)

value:可以設置對哪些異常進行失敗重試
maxAttempts:設置失敗重試的次數(shù)
backoff:設置重試等待策略
delay:失敗重試時間間隔
multiplier:設置延遲倍數(shù)

例如:我們delay設置的是1000 multipler設置的是2當出現(xiàn)異常時,會間隔1秒,2秒,4秒進行重試

第四步:當重試次數(shù)耗盡還拋出異常時,我們可以通過@Recover注解進行失敗回調(diào)

拿到我們的異常值和方法的入?yún)⑦M行額外的處理,

第五步:我們可以看到,重復調(diào)用了五次,最后進入了我們的失敗調(diào)用方法中

注意:

  1. @Recover方法的返回值,必須與@Retryable方法的返回值一致
  2. @Recover方法的第一個參數(shù)必須是Throwable類型的
  3. 回調(diào)方法與重試方法需要在同一個實現(xiàn)類里面
  4. 如果同一個類有多個回調(diào)方法,我們可以通過@Retryable注解的recover屬性,指定回調(diào)方法名稱
  5. spring-retry是基于aop實現(xiàn)的,靜態(tài)方法會導致aop失效 更多aop的失效場景請看下期

到此這篇關于SpringBoot接口或方法進行失敗重試的實現(xiàn)方式的文章就介紹到這了,更多相關SpringBoot接口進行失敗重試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中將String類型轉(zhuǎn)換為int類型的幾種常見方法

    Java中將String類型轉(zhuǎn)換為int類型的幾種常見方法

    在java中經(jīng)常會遇到需要對數(shù)據(jù)進行類型轉(zhuǎn)換的場景,這篇文章主要給大家介紹了關于Java中將String類型轉(zhuǎn)換為int類型的幾種常見方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • Java使用Optional實現(xiàn)優(yōu)雅避免空指針異常

    Java使用Optional實現(xiàn)優(yōu)雅避免空指針異常

    空指針異常(NullPointerException)可以說是Java程序員最容易遇到的問題了。為了解決這個問題,Java?8?版本中推出了?Optional?類,本文就來講講如何使用Optional實現(xiàn)優(yōu)雅避免空指針異常吧
    2023-03-03
  • Java ArrayList使用總結

    Java ArrayList使用總結

    這篇文章主要介紹了Java ArrayList使用總結,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Java RocksDB安裝與應用

    Java RocksDB安裝與應用

    本篇文章主要給大家介紹了JAVA中RocksDB的安裝與應用,有需要到的朋友一起學習參考下。
    2017-12-12
  • springboot打包jar和war包的教程圖解

    springboot打包jar和war包的教程圖解

    這篇文章主要介紹了springboot打包jar和war包的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Springmvc模式上傳和下載與enctype對比

    Springmvc模式上傳和下載與enctype對比

    這篇文章主要介紹了Springmvc模式上傳和下載與enctype對比,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • Java調(diào)用windows系統(tǒng)的CMD命令并啟動新程序

    Java調(diào)用windows系統(tǒng)的CMD命令并啟動新程序

    本文教你如何使用java程序調(diào)用windows系統(tǒng)的CMD命令啟動新程序方法,需要的朋友可以參考下
    2023-05-05
  • springboot集成websocket的四種方式小結

    springboot集成websocket的四種方式小結

    本文主要介紹了springboot集成websocket的四種方式小結,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java 細致圖解帶你分析漢諾塔

    Java 細致圖解帶你分析漢諾塔

    漢諾塔問題是一個經(jīng)典的問題。漢諾塔(Hanoi Tower),又稱河內(nèi)塔,源于印度一個古老傳說。本文將用Java求解這一問題,感興趣的可以學習一下
    2022-03-03
  • java時間和字符串之間相互轉(zhuǎn)換幾種方法

    java時間和字符串之間相互轉(zhuǎn)換幾種方法

    這篇文章主要介紹了java時間和字符串之間相互轉(zhuǎn)換的幾種方法,還詳細解釋了DateTimeFormatter的三種解析模式,并比較了yyyy和uuuu在嚴格模式下的區(qū)別,需要的朋友可以參考下
    2025-03-03

最新評論