关于将Hystrix与Feign相结合的问题

时间:2015-11-10 19:40:04

标签: spring-cloud

我正在尝试在Feign中使用新的HystrixFeign支持。这是我的代码看起来像

route66Client =
            HystrixFeign.builder()
                .logger(new Slf4jLogger())
                .encoder(new GsonEncoder())
                .target(Route66Client.class, "http://route66/");

Route66Client定义为

public interface Route66Client {
    @RequestLine("POST /route")
    ApiResponse getRoute(
        RouteRequest request);
}

当我尝试运行代码时。我得到UnknownHostException。因为它无法解析route66的主机名。谁知道我可能会失踪?

此外,我使用常规Feign(不是HystrixFeign)。我所做的只是用@FeignClient(“...”)注释我的Route66Client类,然后在调用类中注入Route66Client(所以没有使用Feign.builder())

但是我找不到一些@HystrixFeignClient注释。所以我继续开始使用HystrixFeign.builder()。但是当我这样做时,serviceName->地址解析停止了工作。

1 个答案:

答案 0 :(得分:1)

如果您想获得尤里卡的好处,请不要直接使用该构建器。将@EnableFeignClients放在@Configuration类(通常是您的应用程序)上。然后使用Route66Client标记@FeignClient("route66")并注入Route66Client。这只适用于布里克斯顿的第二里程碑。请参阅the documentation