如何在多个虚拟客户端之一中禁用hystrix

时间:2019-03-16 18:23:00

标签: spring spring-cloud hystrix feign

在我的spring boot应用程序中,我使用了多个feign客户程序(@FeignClient(“ hello-service”))。在其中许多情况下,我需要一种断路器机制,因此我要遵循以下配置。

feign.hystrix.enabled = true

但是,我不知道如何配置特定的伪装客户端不使用Hystrix。可能吗?有没有人设法以这种方式配置spring应用程序?

2 个答案:

答案 0 :(得分:1)

您可以使用禁用的hystrix功能创建自己的配置,并将其用于必要的客户端。

public class FeignClientConfiguration {
@Bean
@Scope("prototype")
public Feign.Builder feignBuilder() {
    return Feign.builder();
}
}

查看 paragraph 7.4

中的详细信息

答案 1 :(得分:0)

我想扩展Roman的答案,因为一开始我没有得到如何使用它的信息。

正如他提到的,您需要具有这样的配置类

public class MyFeignConfiguration {

    @Bean
    @Scope("prototype")
    public Feign.Builder feignBuilder() {
        return Feign.builder();
    }
}

您需要将此配置类包括在@FeignClient中,像这样

@FeignClient(name = "name", url = "http://example.com", configuration = MyFeignConfiguration .class)
public interface MyApi {
    //...
}

使用此配置,无需使用Hystrix即可构建此客户端