Nacos和Eureka冲突问题原因分析

目录

一、问题现象

bash 复制代码
Description:

Field autoServiceRegistration in org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration required a single bean, but 2 were found:
	- eurekaAutoServiceRegistration: defined by method 'eurekaAutoServiceRegistration' in class path resource [org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration.class]
	- nacosAutoServiceRegistration: defined by method 'nacosAutoServiceRegistration' in class path resource [com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.class]

Action:

Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed

二、解决办法

检查pom文件中,是不是同时添加了Nacos和Eureka的依赖?如果是,选择一个不必要的去掉即可。比如这次异常,我保留了Nacos,去掉了Eureka。

bash 复制代码
<!--Eureka客户端-->
<!--<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <version>2.2.6.RELEASE</version>
</dependency>-->

<!--nacos客户端-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.6.RELEASE</version>
</dependency>

三、原因分析

Spring Boot项目启动时,AutoServiceRegistrationAutoConfiguration类需要注入一个类型为AutoServiceRegistration的bean。但是,在容器中却出现了两个Bean,其父类均为AutoServiceRegistration,就是异常中打印出的nacosAutoServiceRegistration和eurekaAutoServiceRegistration。

异常中还顺便给出了解决方案:即为其中一个bean添加注解@Primary或@Qualifier。其实,简单的解决办法就是去掉无用的依赖即可。如果其他大佬有不同看法,可以留言讨论。

相关推荐
岁岁种桃花儿1 天前
SpringCloud从入门到上天:Nacos做微服务注册中心
java·spring cloud·微服务
瑶山1 天前
Spring Cloud微服务搭建三、分布式任务调度XXL-JOB
java·spring cloud·微服务·xxljob
笃行客从不躺平2 天前
Token 复习
java·分布式·spring cloud
键盘帽子2 天前
多线程情况下长连接中的session并发问题
java·开发语言·spring boot·spring·spring cloud
没有bug.的程序员2 天前
Docker 与 K8s 生产级实战:从镜像极致优化到集群自动化部署全流程
spring cloud·docker·kubernetes·自动化·k8s·镜像·集群自动化
wsy_6662 天前
docker
java·spring cloud·docker
玄〤2 天前
SpringCloud微服务用户身份拦截器配置详细解决方案(黑马商城)(springcloud微服务课day6)
spring·spring cloud·微服务
Renhao-Wan3 天前
从零部署Spring Cloud微服务系统(Kiwi-Hub)
spring·spring cloud·微服务
岁岁种桃花儿3 天前
SpringCloud超高质量面试高频题300道题
spring·spring cloud·面试
库里不会投三分3 天前
谢飞机面试记:从JVM到Spring AI的3轮灵魂拷问(音视频+AI招聘双场景)
spring cloud·java面试·rag·spring ai·ai招聘·音视频架构