【SpringCloud】(十三):全域性和單個禁用Feign Client對Hystrix的支援
我們可以自定義配置Feign對Hystrix的支援。
預設情況下:所有的Feign都支援Hystrix。但是我們可以自定義配置。
全域性禁用:在配置檔案application.yml 中新增配置:feign.hystrix.enabled = false;
當然我們也可以單個禁用。
只需要在自定義的配置類中加入。
@Bean
@Scope("prototype")
public Feign.Builder feignBuilder() {
return Feign.builder();
}
因為:預設支援的是HystrixFeign.Builder.而通過配置之後,返回的是Feign.builder去掉了對Hystrix的支援。
自定義配置類AuthConfiguration
package com.dynamic.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import feign.Feign;
import feign.auth.BasicAuthRequestInterceptor;
@Configuration
public class AuthConfiguration {
@Bean
public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {
return new BasicAuthRequestInterceptor("user", "pass123");
}
/**
* 為什麼加上這段就讓Feign禁用了Hystrix.
* Feign.Builder feignBuilder:HystrixHeign.Builder
*
* @return
*/
@Bean
@Scope("prototype")
public Feign.Builder feignBuilder() {
return Feign.builder();
}
}
FeignClient2
package com.dynamic.cloud.feign;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.dynamic.config.AuthConfiguration;
@FeignClient(name="xxx",url="http://localhost:8761/",configuration=AuthConfiguration.class,fallback =HystrixClientFallback2.class)
public interface FeignClient2 {
@RequestMapping(value="/eureka/apps/{serviceName}")
public String findServiceInfoFromEurekaByServiceName(@PathVariable("serviceName") String serviceName);
}
package com.dynamic.cloud.feign;
import org.springframework.stereotype.Component;
@Component
public class HystrixClientFallback2 implements FeignClient2 {
@Override
public String findServiceInfoFromEurekaByServiceName(String serviceName) {
System.out.println("禁用Feign");
return "haha";
}
}
相關文章
- 【SpringCloud】(十四):Feign對Hystrix的支援 fallbackFactorySpringGCCloud
- 【SpringCloud】(十二):Fegion的Hystrix支援SpringGCCloud
- SpringCloud微服務(基於Eureka+Feign+Hystrix+Zuul)SpringGCCloud微服務Zuul
- JAVA 多使用者商城系統b2b2c-Feign對Hystrix的支援Java
- Mysql在全域性禁用自動提交MySql
- 微服務實戰SpringCloud之Spring Cloud Feign替代HTTP Client微服務SpringGCCloudHTTPclient
- SpringCloud之HystrixSpringGCCloud
- SpringCloud Feign的分析SpringGCCloud
- 分享一個 SpringCloud Feign 中所埋藏的坑SpringGCCloud
- Springcloud(二) feignSpringGCCloud
- SpringCloud-FeignSpringGCCloud
- springcloud之hystrix原理和實踐總結SpringGCCloud
- node 全域性物件和全域性變數物件變數
- Sentinel全域性Feign預設熔斷設計實現
- Feign失敗重試與全域性異常捕獲
- SpringCloud使用Sentinel 代替 HystrixSpringGCCloud
- 【SpringCloud】Ribbon如何自定義客戶端配置和全域性配置SpringGCCloud客戶端
- 【SpringCloud】(十一):超時機制和斷路器及 Hystrix簡單實踐SpringGCCloud
- springcloud(五):熔斷監控Hystrix Dashboard和TurbineSpringGCCloud
- springCloud學習3(Netflix Hystrix彈性客戶端)SpringGCCloud客戶端
- 【SpringCloud】(九):Feign的自定義配置SpringGCCloud
- vue定義全域性變數和全域性方法Vue變數
- 靜態全域性變數和全域性變數變數
- springcloud之Hystrix熔斷器SpringGCCloud
- SpringCloud(三)Hystrix斷路器SpringGCCloud
- springcloud(四):熔斷器HystrixSpringGCCloud
- 史上最簡單的 SpringCloud 教程 | 第四篇: 斷路器(Hystrix)SpringGCCloud
- spring整合feign和hystrix實現RPC熔斷降級和監控SpringRPC
- SpringCloud——Feign例項及原理SpringGCCloud
- 微服務SpringCloud之熔斷監控Hystrix Dashboard和Turbine微服務SpringGCCloud
- SpringCloud+Hystrix服務容錯SpringGCCloud
- SpringCloud學習筆記(3)——HystrixSpringGCCloud筆記
- 分散式全域性ID生成方案彙總和對比分散式
- 全域性鎖和表鎖
- SpringCloud分散式微服務b2b2c電子商務docker-feign-hystrix-ribbon(八)SpringGCCloud分散式微服務Docker
- Python的全域性和區域性變數Python變數
- 實現elementUI表單的全域性驗證UI
- 在feign介面中返回泛型類(Generic response support for feign client)泛型client