Spring Cloud:如何在@FeignClient 中配置Hystrix

Spring Cloud: How to configure Hystrix in @FeignClient

我有以下服务:

@FeignClient(name = "person", fallback = FeignHystrixFallback.class)
public interface PersonService {

    @RequestMapping(value = "/find", method = RequestMethod.GET)
    Person findPerson(@RequestParam("name") String name);
}

如何更改默认超时和线程池大小?

还有其他人 运行 了解此问题,post 提出了问题并得到了答案。最相关的是 post:

Feign builder timeouts not working

如果您想管理 Feign 的配置,您需要查看 Feign 文档,查看 @FeignClient 注释的 "configuration" 属性。

为此接口设置自定义配置

@FeignClient(name="person", configuration = FeignConfig.class)

并进行配置

public class FeignConfig {
    public static final int FIVE_SECONDS = 5000;

    @Bean
    public Request.Options options() {
        return new Request.Options(FIVE_SECONDS, FIVE_SECONDS);
    }
}