国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java 重試框架 Spring-Retry | 快速入門

這篇具有很好參考價(jià)值的文章主要介紹了Java 重試框架 Spring-Retry | 快速入門。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


?? 本節(jié)目標(biāo):了解傳統(tǒng)重試的寫法以及 Spring-Retry 快速入門。

下面使用一個(gè)例子來講述:調(diào)用第三方接口獲取數(shù)據(jù),支持重試 3 次,每次重試間隔 5 秒。

傳統(tǒng)寫法

傳統(tǒng)寫法:while 循環(huán),判斷是否有異常,有異常則重試,并使用 Thread 延遲,直到重試次數(shù)用完或重試成功為止。
調(diào)用第三方接口的代碼:?? 普通的 RestTemplate 調(diào)用

var responseEntity = restTemplate.exchange(new RequestEntity<>(HttpMethod.GET, URI.create(drugUrl)),
                        new ParameterizedTypeReference<R<List<Drug>>>() {
   
                        });
Assert.isTrue(responseEntity.getStatusCode().is2xxSuccessful(), "請(qǐng)求狀態(tài)碼不是200!");
Assert.notNull(responseEntity.getBody(), "response body 不可為空!");
return responseEntity.getBody().getData();

加入重試邏輯:?? RestTemplate 代碼被重試代碼包裹,代碼可讀性不高,可復(fù)用性差文章來源地址http://www.zghlxwxcb.cn/news/detail-846320.html

  • 設(shè)定最大重試次數(shù)為 4。
  • while 循環(huán)實(shí)現(xiàn)重試,出現(xiàn)異常則線程睡眠 3 秒,然后進(jìn)行下一次重試。
  • 如果超過最大重試次數(shù),則停止重試,返回空集合;如果重試成功,則直接返回。
public List<Drug> getDrugWithWhileRetry(String drugUrl) {
   
    // 最大重試次數(shù)
    int maxAttempt = 4;

    int current = 1;
    while (current <= maxAttempt) {
   
        log.info("正在進(jìn)行第{}次調(diào)用", current);
        try {
   
            var responseEntity = restTemplate.exchange(new RequestEntity<>(HttpMethod.GET, URI.create(drugUrl

到了這里,關(guān)于Java 重試框架 Spring-Retry | 快速入門的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如果你需要使用重試機(jī)制,請(qǐng)使用Spring官方的Spring Retry

    如果你需要使用重試機(jī)制,請(qǐng)使用Spring官方的Spring Retry

    Spring Retry 是 Spring Framework 中的一個(gè)模塊,提供了一種簡(jiǎn)單的方式來在應(yīng)用程序中實(shí)現(xiàn)重試機(jī)制。 在應(yīng)用程序中,如果遇到了一些不可避免的錯(cuò)誤,比如網(wǎng)絡(luò)連接失敗、數(shù)據(jù)庫連接失敗等,我們通常需要對(duì)這些錯(cuò)誤進(jìn)行重試,以嘗試解決這些問題。 Spring Retry 提供了一個(gè)可插拔

    2024年02月13日
    瀏覽(52)
  • 【Java】一文帶你快速入門Shiro權(quán)限框架

    【Java】一文帶你快速入門Shiro權(quán)限框架

    ??推薦網(wǎng)站(不斷完善中):個(gè)人博客 ??個(gè)人主頁:個(gè)人主頁 ??相關(guān)專欄:CSDN專欄 ??立志賺錢,干活想躺,瞎分享的摸魚工程師一枚 在我們實(shí)戰(zhàn)開發(fā)過程中,對(duì)于權(quán)限的控制是必不可少的,一個(gè)系統(tǒng)中常見的有 普通會(huì)員、管理員、超級(jí)管理員 等等不同的角色出現(xiàn)。 我們

    2024年02月08日
    瀏覽(33)
  • 入門Spring Boot:快速構(gòu)建Java應(yīng)用的利器

    入門Spring Boot:快速構(gòu)建Java應(yīng)用的利器

    Spring Boot是由Pivotal團(tuán)隊(duì)開發(fā)的開源框架,它基于Spring框架,旨在簡(jiǎn)化Java應(yīng)用程序的開發(fā)過程。它提供了一種約定大于配置的方式,通過自動(dòng)配置和起步依賴(Starter Dependencies)來消除繁瑣的配置,從而使開發(fā)者能夠更快地構(gòu)建獨(dú)立、可執(zhí)行的、生產(chǎn)級(jí)的Spring應(yīng)用。 與傳統(tǒng)的

    2024年02月07日
    瀏覽(18)
  • 快速入門Java NIO(Not I/O)的網(wǎng)絡(luò)通信框架--Netty

    快速入門Java NIO(Not I/O)的網(wǎng)絡(luò)通信框架--Netty

    了解netty前需要對(duì)nio有一定認(rèn)識(shí),該筆記基礎(chǔ)來自bilinbili黑馬,在此基礎(chǔ)上自己學(xué)習(xí)的筆記,添加了一些自己的理解 了解java 非阻塞io編程 1.1 Netty 是什么? Netty 是一個(gè)異步(基于多線程)的、基于事件驅(qū)動(dòng)(多路復(fù)用的那寫事件驅(qū)動(dòng))的網(wǎng)絡(luò)應(yīng)用框架,用于快速開發(fā)可維護(hù)、高性能的

    2024年01月17日
    瀏覽(25)
  • Spring是一個(gè)開源的Java開發(fā)框架,它提供了一種快速、簡(jiǎn)單的方式來開發(fā)企業(yè)級(jí)應(yīng)用程序

    Spring是一個(gè)開源的Java開發(fā)框架,它提供了一種快速、簡(jiǎn)單的方式來開發(fā)企業(yè)級(jí)應(yīng)用程序

    Spring是一個(gè)開源的Java開發(fā)框架,它提供了一種快速、簡(jiǎn)單的方式來開發(fā)企業(yè)級(jí)應(yīng)用程序。Spring的主要優(yōu)點(diǎn)包括簡(jiǎn)化Java EE開發(fā)、提供依賴注入和面向切面編程等功能。以下是Spring的一些核心特性: 依賴注入(DI):Spring通過DI機(jī)制,將對(duì)象的依賴關(guān)系注入到應(yīng)用程序中,簡(jiǎn)化了

    2024年02月03日
    瀏覽(99)
  • rabbitmq:retry重試機(jī)制和延遲消息的實(shí)現(xiàn)

    rabbitmq:retry重試機(jī)制和延遲消息的實(shí)現(xiàn)

    rabbitmq:retry重試機(jī)制和延遲消息的實(shí)現(xiàn) 在消費(fèi)者消費(fèi)消息的時(shí)候可能會(huì)因?yàn)榫W(wǎng)絡(luò)等外部原因?qū)е孪⑻幚硎?,這個(gè)時(shí)候如果將消息直接丟棄會(huì)導(dǎo)致正常的業(yè)務(wù)丟失,但是如果是一條本身就有問題的消息,那么這個(gè)時(shí)候又必須丟棄掉,如果選擇用channel.basicNack 或 channel.basi

    2024年02月13日
    瀏覽(20)
  • axios-retry插件-axios請(qǐng)求失敗自動(dòng)重試

    axios-retry 對(duì)外導(dǎo)出 axiosRetry() 方法: 通過對(duì) axios 單例添加“攔截器”,來擴(kuò)展實(shí)現(xiàn)自動(dòng)重試網(wǎng)絡(luò)請(qǐng)求功能。 備注: ?除非? shouldResetTimeout 被設(shè)置, 這個(gè)插件 將請(qǐng)求超時(shí)解釋為全局值, 不是針對(duì)每一個(gè)請(qǐng)求,二是全局的設(shè)置 Name Type Default Description retries Number 3 The number of times t

    2024年02月10日
    瀏覽(21)
  • 分布式重試服務(wù)平臺(tái) Easy-Retry

    分布式重試服務(wù)平臺(tái) Easy-Retry

    ??在介紹這款開源產(chǎn)品前先給大家介紹一個(gè)開源組織:aizuda–愛組搭 ??可以看到Easy-Retry就是愛組搭的開源項(xiàng)目之一。 ??在分布式系統(tǒng)大行其道的當(dāng)前,系統(tǒng)數(shù)據(jù)的準(zhǔn)確性和正確性是重大的挑戰(zhàn),基于CAP理論,采用柔性事務(wù),保障系統(tǒng)可用性以及數(shù)據(jù)的最終一致性成為

    2024年02月09日
    瀏覽(22)
  • 【Java】Spring框架介紹

    【Java】Spring框架介紹

    人不走空 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 目錄 ????????個(gè)人主頁:人不走空?????? ??系列專欄:算法專題 ?詩詞歌賦:斯是陋室,惟吾德馨 1. Spring框架的核心理念 1. 輕量級(jí)和非侵入性 1.1.1 輕量級(jí)設(shè)計(jì) 1.1.2 非侵入性的

    2024年02月21日
    瀏覽(21)
  • 【重試】Java 中的 7 種重試機(jī)制

    【重試】Java 中的 7 種重試機(jī)制

    隨著互聯(lián)網(wǎng)的發(fā)展項(xiàng)目中的業(yè)務(wù)功能越來越復(fù)雜,有一些基礎(chǔ)服務(wù)我們不可避免的會(huì)去調(diào)用一些第三方的接口或者公司內(nèi)其他項(xiàng)目中提供的服務(wù),但是遠(yuǎn)程服務(wù)的健壯性和網(wǎng)絡(luò)穩(wěn)定性都是不可控因素。在測(cè)試階段可能沒有什么異常情況,但上線后可能會(huì)出現(xiàn)調(diào)用的接口因?yàn)閮?nèi)

    2024年02月16日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包