码迷,mamicode.com
首页 > 数据库 > 详细

Field client in com.rachel.web.ConsumerController required a bean of type 'org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient' that could not be found.

时间:2020-06-01 00:39:29      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:bsp   not   lan   pre   net   nbsp   balance   web   ffffff   

在启动一台消费者微服务时出现了异常

Field client in com.rachel.web.ConsumerController required a bean of type ‘org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient‘ that could not be found.

意思是找不到这个bean RibbonLoadBalancerClient

应该是没注入到容器中,检查controller,发现了编译前异常

技术图片

 

 这个bean没注入,但为什么呢?

解决方式:将RibbonLoadBalancerClient修改为 LoadBalancerClient

原因:

我们的需求是用给RestTemplate加一个ribbon的客户端,让它在发起请求时拥有负载均衡能力

技术图片

 

 

查看@LoadBalanced源码,有一行注释,意思是:这个注解用来给RestTemplate配置使用一个LoadBalancerClient

技术图片

 

所以,我们在controller中注入的时候应该注入这个客户端

技术图片

 

 那到底RibbonLoadBalancerClient和LoadBalancerClient有什么区别呢?

技术图片

 

 原来前者是后者的实现类

 

 

 


 

Field client in com.rachel.web.ConsumerController required a bean of type 'org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient' that could not be found.

标签:bsp   not   lan   pre   net   nbsp   balance   web   ffffff   

原文地址:https://www.cnblogs.com/rachelgarden/p/13022444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!