我是靠谱客的博主 能干冥王星,最近开发中收集的这篇文章主要介绍【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 Client对Hystrix的支持的全部内容,希望文章能够帮你解决【SpringCloud】(十三):全局和单个禁用Feign Client对Hystrix的支持所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复