欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Feign獲取異常信息的處理方案

 更新時間:2021年08月27日 14:03:54   作者:一顆小隕石  
這篇文章主要介紹了解決Feign獲取異常信息的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Feign獲取異常信息

最近在使用Feign調(diào)用時,出現(xiàn)了異常,原本使用的是fallback,直接返回了自定義的結(jié)果

@Override
    public Result findUserNameById(String id) {
        return new Result(false, StatusCode.ERROR,"啊哦,用戶客戶端出現(xiàn)了異常");
    }

但是無法獲取具體的異常信息

解決方案

將fallback換成fallbackFactory

一、客戶端接口指定熔斷器處理工廠類

/**
 * @author 
 * @date 2019/9/2215:37
 */
@FeignClient(value = "weblog-article",fallbackFactory = ArticleFallBackFactory.class,configuration = FeignInterceptor.class)
public interface ArticleClient {
    /**
     * 根據(jù)文章id封裝搜索文章實體
     * @param aid
     * @return
     */
    @GetMapping("article/client/packageArticle/{aid}")
    Result packageArticle(@PathVariable("aid") String aid);
}

二、ArticleFallBackFactory

/**
 * @author yunshi
 * @date 2019/10/2010:37
 */
@Component
public class ArticleFallBackFactory implements FallbackFactory<ArticleClient> {
    @Override
    public ArticleClient create(Throwable throwable) {
        System.out.println("搜索微服務(wù)調(diào)用文章客戶端出錯:"+throwable.getMessage()==null?"":throwable.getMessage());
        throwable.printStackTrace();
        return new ArticleClientImpl() {
            @Override
            public Result packageArticle(String aid) {
                return new Result(false, StatusCode.ERROR,"搜索微服務(wù)調(diào)用文章客戶端出錯 method:packageArticle");
            }
        };
    }
}

有時候throwable的getMessage沒有捕獲到個別異常信息,干脆就直接打印了堆棧信息

三、ArticleClientImpl

/**
 * @author yunshi
 * @date 2019/9/2215:41
 */
public interface ArticleClientImpl extends ArticleClient {
    
}

實操可用~

Feign中 fallback獲取400等異常信息及message

Spring cloud中當調(diào)用第三接口的時候,為防止超時一直等待,我們一般用斷路由的方式來進行超時返回,我一般用Spring Cloud Hystrix。在調(diào)用第三方的地方進行fallback進行聲明,然后重新fallback函數(shù),配置超時時間,在超時時間內(nèi)容沒有返回或者參數(shù)錯誤就進人到fallback里面進行處理。具體的做法,網(wǎng)上一大堆,可自行百度。

然后第三方接口,在參數(shù)錯誤的時候,也是按400返回,尤其是json里面的數(shù)據(jù)key對應(yīng)的value的合法性。而我們出錯的時候想把第三參數(shù)的錯誤信息返回,這樣就能很明確知道哪錯了,而不是認為是超時,下面進入正題:

1.調(diào)用第三方的方法

fallbackFactory中調(diào)用自己重寫的fallback,熔斷時會自動調(diào)用。

2.fallback函數(shù)返回值的組合

自己重寫的熔斷函數(shù)中,重新create函數(shù),其中throwable 會記錄捕獲的所有異常,我們通過getMessage可得到我們的信息,具體可以參考FallbackFactory接口的實現(xiàn)。

3.返回值

把fallback函數(shù)的返回值反倒返回值的msg中返回,這樣調(diào)用接口的時候就可以得到第三方返回的錯誤信息,進行調(diào)整了。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實現(xiàn)Flappy Bird游戲源碼

    Java實現(xiàn)Flappy Bird游戲源碼

    這篇文章主要為大家詳細介紹了Java實現(xiàn)Flappy Bird游戲源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • java面試題解LeetCode27二叉樹的鏡像實例

    java面試題解LeetCode27二叉樹的鏡像實例

    這篇文章主要為大家介紹了java面試題解LeetCode27二叉樹的鏡像實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Spring?Cloud中Sentinel的兩種限流模式介紹

    Spring?Cloud中Sentinel的兩種限流模式介紹

    如何使用Sentinel做流量控制呢?這篇文章就來為大家詳細介紹了Spring?Cloud中Sentinel的兩種限流模式,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-05-05
  • Java 無符號右移與右移運算符的使用介紹

    Java 無符號右移與右移運算符的使用介紹

    這篇文章主要介紹了Java 無符號右移與右移運算符的使用介紹,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • JDK 7U15在 Windows x86平臺下的安裝方法

    JDK 7U15在 Windows x86平臺下的安裝方法

    本文給大家分享的是如何在windows平臺下安裝JDK最新版的方法,十分的簡單全面,有需要的小伙伴可以參考下
    2016-05-05
  • Java上傳文件錯誤java.lang.NoSuchMethodException的解決辦法

    Java上傳文件錯誤java.lang.NoSuchMethodException的解決辦法

    今天小編就為大家分享一篇關(guān)于Java上傳文件錯誤java.lang.NoSuchMethodException的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • JVM類加載機制詳解

    JVM類加載機制詳解

    本文主要介紹了JVM類加載機制的相關(guān)知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 高并發(fā)下如何避免重復(fù)數(shù)據(jù)產(chǎn)生技巧

    高并發(fā)下如何避免重復(fù)數(shù)據(jù)產(chǎn)生技巧

    這篇文章主要為大家介紹了高并發(fā)下如何避免重復(fù)數(shù)據(jù)的產(chǎn)生技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Java Web實現(xiàn)添加定時任務(wù)的方法示例

    Java Web實現(xiàn)添加定時任務(wù)的方法示例

    這篇文章主要介紹了Java Web實現(xiàn)添加定時任務(wù)的方法,涉及java web定時任務(wù)控制類定義、調(diào)用及監(jiān)聽器定義、添加等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • SpringBoot使用統(tǒng)一異常處理詳解

    SpringBoot使用統(tǒng)一異常處理詳解

    這篇文章主要為大家詳細介紹了SpringBoot使用統(tǒng)一異常處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論