分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

Feign报错Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client

发布时间:2023-09-06 01:50责任编辑:郭大石关键词:暂无标签

问题描述

使用Feign调用微服务接口报错,如下:

java.lang.RuntimeException: com.netflix.client.ClientException: Load balancer does not have available server for client: app1 ???at org.springframework.cloud.netflix.feign.ribbon.LoadBalancerFeignClient.execute(LoadBalancerFeignClient.java:71) ???at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:97) ???at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76) ???at feign.hystrix.HystrixInvocationHandler$1.run(HystrixInvocationHandler.java:108) ???at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:302) ???at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:298) ???at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:46) ???at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ???at rx.Observable.unsafeSubscribe(Observable.java:10211) ???at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51) ???at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35) ???at rx.Observable.unsafeSubscribe(Observable.java:10211) ???at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) ???at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ???at rx.Observable.unsafeSubscribe(Observable.java:10211) ???at rx.internal.operators.OperatorSubscribeOn$1.call(OperatorSubscribeOn.java:94) ???at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction$1.call(HystrixContexSchedulerAction.java:56) ???at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction$1.call(HystrixContexSchedulerAction.java:47) ???at org.springframework.security.concurrent.DelegatingSecurityContextCallable.call(DelegatingSecurityContextCallable.java:86) ???at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction.call(HystrixContexSchedulerAction.java:69) ???at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) ???at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ???at java.util.concurrent.FutureTask.run(FutureTask.java:266) ???at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ???at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ???at java.lang.Thread.run(Thread.java:748)Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: app1 ???at com.netflix.loadbalancer.LoadBalancerContext.getServerFromLoadBalancer(LoadBalancerContext.java:483) ???at com.netflix.loadbalancer.reactive.LoadBalancerCommand$1.call(LoadBalancerCommand.java:184) ???at com.netflix.loadbalancer.reactive.LoadBalancerCommand$1.call(LoadBalancerCommand.java:180) ???at rx.Observable.unsafeSubscribe(Observable.java:10211) ???at rx.internal.operators.OnSubscribeConcatMap.call(OnSubscribeConcatMap.java:94) ???at rx.internal.operators.OnSubscribeConcatMap.call(OnSubscribeConcatMap.java:42) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ???at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ???at rx.Observable.subscribe(Observable.java:10307) ???at rx.Observable.subscribe(Observable.java:10274) ???at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:445) ???at rx.observables.BlockingObservable.single(BlockingObservable.java:342) ???at com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:117) ???at org.springframework.cloud.netflix.feign.ribbon.LoadBalancerFeignClient.execute(LoadBalancerFeignClient.java:63) ???... 33 common frames omitted

问题解决

原因可能有两个:

  • 1.没有引入Eureka依赖
  • 2.@AuthorizedFeignClient注解中name写错,比如这次我按照教程以为name写app1就好,其实不然……

1.引入依赖

 ???????<dependency> ???????????<groupId>org.springframework.cloud</groupId> ???????????<artifactId>spring-cloud-starter-eureka</artifactId> ???????</dependency>

2.将name修改正确的被调用服务的spring.application.name名称

Feign报错Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client

原文地址:https://www.cnblogs.com/hellxz/p/8920378.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved