集成OpenFeign启动失败

小灰灰 2022-11-05 15:53 243阅读 0赞

使用open feign开发接口,直接启动失败,抛出如下异常:

  1. nested exception is java.lang.IllegalStateException: No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer?

问题很显然是没有添加 spring-cloud-starter-loadbalancer,所以在pom.xml中添加如下依赖:

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-loadbalancer</artifactId>
  4. </dependency>

重新导入依赖之后,启动成功,但是调用接口依旧报错:

  1. java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance;

这是因为spring cloud将负载均衡组件从ribbon替换成了loadbalancer,需要在spring-cloud-starter-alibaba-nacos-discovery排除ribbon组件,否则loadbalancer是不生效的。

  1. <dependency>
  2. <groupId>com.alibaba.cloud</groupId>
  3. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  4. <exclusions>
  5. <exclusion>
  6. <groupId>org.springframework.cloud</groupId>
  7. <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
  8. </exclusion>
  9. </exclusions>
  10. </dependency>

重新导入依赖之后,重启项目,调用成功。

发表评论

表情:
评论列表 (有 0 条评论,243人围观)

还没有评论,来说两句吧...

相关阅读

    相关 启动Hive失败

    错误展示 ![70][] 原因 根据提示发现是没有mysql-java连接的驱动jar包 解决方法 \ ls CDH-5.7.0-1.cdh5.7.0.p0.45-e