Feign禁用Hystrix


1、完全禁用Hystrix
配置yml文件feign.hystrix.enabled=false

2、部分禁用Hystrix
2.1、FeignNoHystrixConfigure.java——編寫Feign客戶端配置類,重寫feignBuilder方法

import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import feign.Feign; import feign.Retryer; //此配置類為了關閉特定Feign客戶端的Hystrix支持 //注意:不要和服務啟動類放在同一目錄或子級目錄下
@Configuration public class FeignNoHystrixConfigure { // FeignClientsConfiguration 的默認配置如下 // Decoder feignDecoder: ResponseEntityDecoder (which wraps a SpringDecoder) // Encoder feignEncoder: SpringEncoder // Logger feignLogger: Slf4jLogger // Contract feignContract: SpringMvcContract Feign.Builder // feignBuilder: HystrixFeign.Builder Client // feignClient: if Ribbon is enabled it is a LoadBalancerFeignClient, otherwise the default feign client is used.
 @Bean @Scope("prototype") public Feign.Builder feignBuilder(Retryer retryer) { return Feign.builder(); } }

 

2.2、TestClient4.java——配置部分禁用Hystrix

import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.mimaxueyuan.config.FeignNoHystrixConfigure; //關閉Hystrix(會導致所有的mima-cloud-producer都關閉,不管其它配置是否開啟也會關閉,這是個坑要注意下)
@FeignClient(value="mima-cloud-producer",configuration=FeignNoHystrixConfigure.class) public interface TestClient4 { @RequestMapping(value="/get/{id}",method=RequestMethod.GET) public String get(@PathVariable("id") String id); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM