如何直接在 @FeignClient 中定义 Hystrix Client Fallback

Posted

技术标签:

【中文标题】如何直接在 @FeignClient 中定义 Hystrix Client Fallback【英文标题】:How can i define a Hystrix Client Fallback directly in a @FeignClient 【发布时间】:2016-05-21 21:19:09 【问题描述】:

我正在尝试按照 spring 文档中的描述直接在 feign defenition 中定义我的后备函数,请参阅下面的代码,但我收到一个错误,我无法定义静态类“此处不允许使用修饰符 static ”。当 feign 调用失败时,如何让回退功能运行?

问候,

纳达夫

@FeignClient(name = "hello", fallback = HystrixClientFallback.class)

protected interface HystrixClient 

@RequestMapping(method = RequestMethod.GET, value = "/hello")

     Hello iFailSometimes();



static class HystrixClientFallback implements HystrixClient 

@Override

public Hello iFailSometimes() 

return new Hello("fallback");




【问题讨论】:

将其移至***课程? HystrixClientFallback 也需要在 @Configuration 中定义为 @Bean 【参考方案1】:

@Component 添加到班级顶部对我有用。

@Component
class HystrixClientFallback implements HystrixClient 

    @Override
    public Hello iFailSometimes() 
        return new Hello("fallback");
    


【讨论】:

以上是关于如何直接在 @FeignClient 中定义 Hystrix Client Fallback的主要内容,如果未能解决你的问题,请参考以下文章

如何在 FeignClient 中使用多个查询字符串参数调用 url?

FeignClient 超时如何解决

@FeignClient使用详细教程(图解)

如何从 FeignClient 端点返回 LocalDateTime?

feignClient的实现原理(1)

使用【Feign】调用接口