中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Sentinel-結合Feign(五)

發布時間:2020-07-01 20:42:28 來源:網絡 閱讀:767 作者:lxhllf2005 欄目:編程語言

分為以下4步:

1. 添加依賴: sentinel,feign
2. 配置feign允許sentinel
3. 編寫: feign,請求客戶端
4. 為客戶端添加(sentinel)異常處理類
1.添加依賴: sentinel,feign
<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
2.配置feign允許sentinel
feign:
  sentinel:
    enabled: true
3.編寫: feign,請求客戶端
@FeignClient(name = "user-center")
public interface UserCenterFeignClient {
    public ApiResult findBy(Integer id);
    public ApiResult getDetail(User user);
}
4.為客戶端添加(sentinel)異常處理類

方式(1).

// 用戶中心 Feign 接口
@FeignClient(name = "user-center",fallback = FeignClientFallback.class)
public interface UserCenterFeignClient {
    public ApiResult findBy(Integer id);
    public ApiResult getDetail(User user);
}

// 用戶中心 Feign異常接收處理類
@Component
public class UserCenterFeignClientFallback implements UserCenterFeignClient {
    @Override
    public ApiResult findBy(Integer id) {
        return ApiResult.error("異常");
    }

    @Override
    public ApiResult getDetail(User users) {
        return ApiResult.error("異常");
    }
}

方式(2).

// 接口
@FeignClient(name = "user-center",fallbackFactory = FeignClientFallback.class)        // 方法上可以拿到異常
public interface UserCenterFeignClient {
    public ApiResult findBy(Integer id);
    public ApiResult getDetail(User user);
}

// 異常處理類
@Component
@Slf4j
public class UserCenterFeignClientFallbackFactory implements FallbackFactory<UserCenterFeignClient> {

    // 用戶中心 Feign異常接收處理類
    @Override
    public UserCenterFeignClient create(Throwable throwable) {
        return new UserCenterFeignClient() {
            @Override
            public ApiResult findBy(Integer id) {
                log.warn("異常",throwable);
                return ApiResult.error("Sentinel 異常");
            }

            @Override
            public ApiResult getDetail(User users) {
                return ApiResult.error("Sentinel 異常");
            }
        };
    }

}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛南县| 四子王旗| 阳高县| 淮安市| 黄冈市| 新田县| 广宁县| 伊金霍洛旗| 绥芬河市| 金湖县| 桑日县| 阜南县| 长春市| 龙山县| 正安县| 玉屏| 普兰县| 湛江市| 内江市| 佛学| 阿拉尔市| 镇赉县| 望谟县| 凭祥市| 六盘水市| 保靖县| 灯塔市| 朔州市| 巴里| 河津市| 正宁县| 武陟县| 夏津县| 台东市| 璧山县| 九江县| 乐业县| 额济纳旗| 永春县| 平原县| 齐河县|