1、报错日志

Invalid bean definition with name 'xxx.FeignClientSpecification' defined in null: Cannot register bean definition 
[Generic bean: class [org.springframework.cloud.openfeign.FeignClientSpecification]; scope=; abstract=false; lazyInit=null

2、原因分析

通过Feign调用服务,多个Feign接口上的@FeignClient(“服务名”)有相同服务名会报错。【A bean with that name has already been defined in null and overriding is disabled】,说明Feign的注册,有同名的Feign的名字重复注册。

3、解决方案

方案一:对于同一服务名的接口放到一个Feign接口类中。

将Feign调用,相同的name也就是跨服务调用,对于同一个服务的接口,不要分散的写在多个接口类中,而是放到同一个Feign接口类中定义调用。

方案二:开启spring允许重复bean覆盖

在application.yml中配置:

spring:
  main:
    allow-bean-definition-overriding: true

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐