【发布时间】:2018-10-17 13:15:44
【问题描述】:
我在根据文档尝试 feignclient 回退时遇到问题。
假设 myFeignClient 无法连接到 myFeign
@FeignClient(name = "myFeign", fallback = MyFeignClientFallback.class)
public interface MyFeignClient {
@PostMapping(“/test")
Object test(@RequestParam(“param1") String param1);
}
我的后备类是这样的:
@Component
public class MyFeignClientFallback implements MyFeignClient {
public Object test(@RequestParam(“param1”) String param1) {
return “Error";
}
}
它没有调用回退方法,而是彻底失败了:
2018-05-07 15:19:48.052 错误 41592 --- [nio-8081-exec-6] oaccC[.[.[/].[dispatcherServlet]:Servlet.service() 用于 servlet [dispatcherServlet]在路径 [] 的上下文中抛出异常 [请求处理失败;嵌套异常是 java.lang.RuntimeException: com.netflix.client.ClientException: Load balancer does not have available server for client: myFeign] 根本原因
com.netflix.client.ClientException:负载均衡器没有可用于客户端的服务器:myFeign
我已经让我的假客户工作了。当我遇到这个问题时,我正在尝试使用 Hystrix 的想法。
我是用错了还是错过了什么?
【问题讨论】:
-
这是功能区错误,不是假装的。你在用
@EnableDiscoveryClient吗?如果,myFeign是注册客户吗?否则你配置了listOfServers? -
@spencergibb 看起来你来晚了。我们快到这里了。 :)
标签: java spring-boot spring-cloud