一 具体报错信息如下
1 | Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. |
二 原因分析
定义的多个FeignClient接口的value都是xxxx-server
,而Springboot2.2.x的bean名称是根据@FeignClient的value(即name)来命名的,导致bean已经被定义。
1 | "xxxx-server") (value = |
三 解决方案
方案一,按报错的提示,增加如下配置
1 | spring.main.allow-bean-definition-overriding: true |
方案二,在定义FeignClient的时候,同时定义一下contextId属性,会包含在beanName的规则里,就不会出现bean已经被定义的的异常了。
1 | "xxxx-server", contextId = "XXX1Service") (value = |
建议使用方案二,方案一可能存在一些未知的问题。