在Spring Cloud中,只要Hystrix在项目的classpath中,Feign就会使用断路器包裹Feign客户端的所有方法。这样虽然方便,但很多场景下并不需要该功能,如何为Feign禁用Hystrix呢?
一 为指定Feign客户端禁用Hystrix
借助Feign客户的自定义配置,可轻松为指定名称的Feign客户端禁用Hystrix。例如
@Configuration
public class FooConfiguration {
@Bean
@Scope("prototype")
public Feign.Builder feignBuilder() {
return Feign.builder();
}
}
想要禁用Hystrix的@FeignClient引用该配置类即可,例如:
@FeignClient(name = "user", configuration = FooConfiguration.class)
public interface UserFeignClient {
//..
}
二 全局禁用Hystrix
也可为Feign全局禁用Hystrix,只须在application中配置feign.hystrix.enabled=false即可。