• 注册中心服务eureka 切换到 nocas遇到的问题


    springBoot版本2.3.7.RELEASE

    springCloudAlibab版本2.2.2.RELEASE

    springClould 版本 Hoxton.RELEASE

    1. org.springframework.boot
    2. spring-boot-starter-parent
    3. 2.3.7.RELEASE
    4. com.alibaba.nacos
    5. nacos-client
    6. ${nacos.version}
    7. com.alibaba.cloud
    8. spring-cloud-alibaba-dependencies
    9. ${spring-cloud-alibaba.version}
    10. <type>pom
    11. import
    12. org.springframework.cloud
    13. spring-cloud-dependencies
    14. ${spring-cloud.version}
    15. <type>pom
    16. import
    17. org.springframework.cloud
    18. spring-cloud-loadbalancer
    1. <nacos.version>2.0.3nacos.version>
    2. <spring-cloud-alibaba.version>2.2.2.RELEASEspring-cloud-alibaba.version>
    3. <spring-cloud.version>Hoxton.RELEASEspring-cloud.version>

    子服务

    1. com.alibaba.cloud
    2. spring-cloud-starter-alibaba-nacos-discovery
    3. org.springframework.cloud
    4. spring-cloud-starter-netflix-ribbon
    5. com.alibaba.cloud
    6. spring-cloud-starter-alibaba-nacos-config

    删除eureka,config

    1. <dependency>
    2. <groupId>org.springframework.cloudgroupId>
    3. <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
    4. dependency>
    5. <dependency>
    6. <groupId>org.springframework.cloudgroupId>
    7. <artifactId>spring-cloud-starter-configartifactId>
    8. dependency>

    包冲突hystrix,ribbon

    1. <dependency>
    2. <groupId>org.springframework.cloudgroupId>
    3. <artifactId>spring-cloud-starter-netflix-hystrixartifactId>
    4. dependency>
    5. <dependency>
    6. <groupId>org.springframework.cloudgroupId>
    7. <artifactId>spring-cloud-starter-netflix-ribbonartifactId>
    8. dependency>

    问题:

    启动报错

    Description: Field autoServiceRegistration in org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration required a single bean, but 2 were found: - nacosAutoServiceRegistration: defined by method 'nacosAutoServiceRegistration'in class path resource [com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.class] - consulAutoServiceRegistration: defined by method 'consulAutoServiceRegistration'in class path resource [org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationAutoConfiguration.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

    以上错误信息显示自动配置类AutoServiceRegistrationAutoConfiguration注入autoServiceRegistration属性时同时出现了两个可注入的实例bean,一个是NacosAutoServiceRegistration类的实例bean,另一个是ConsulAutoServiceRegistration类的实例bean。这里用的是NacosAutoServiceRegistration的实例bean,因此需要排除spring-cloud-starter-consul-discovery依赖下的spring-cloud-consul-discovery依赖:

    1. org.springframework.cloud
    2. spring-cloud-starter-consul-discovery
    3. 2.2.0.RELEASE
    4. org.springframework.cloud
    5. spring-cloud-consul-discovery

    启动报错

    [com.alibaba.nacos.client.remote.worker] ERROR c.a.n.c.remote.client.grpc.GrpcClient - Server check fail, please check server nacos.shands.com ,port 1884 is available , error ={} java.util.concurrent.ExecutionException: com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception

    配置文件是8848但是报错1884,查看了很多的方案,有的是未开放端口,有的是地址错误,

    我这边遇到的是版本冲突,具体的版本查看开头

    spring版本升级导致的错误AddFromTemplate

    1. @Override
    2. public Collection<String> setTemplateParameter(String name,
    3. Collection<String> rest) {
    4. return addTemplatedParam(rest, name);
    5. //return addTemplateParameter(rest, name);
    6. }

    更改后

    1. @Override
    2. public Collection<String> setTemplateParameter(String name, Collection<String> rest) {
    3. if (rest == null) {
    4. rest = new ArrayList();
    5. }
    6. ((Collection)rest).add(String.format("{%s}", name));
    7. return (Collection)rest;
    8. }

    更改前

    1. // KB,MB
    2. factory.setMaxFileSize(maxFileSize);
    3. /// 总上传数据大小
    4. factory.setMaxRequestSize(maxRequestSize);

    更改后

    1. // KB,MB
    2. factory.setMaxFileSize(DataSize.parse(maxFileSize));
    3. /// 总上传数据大小
    4. factory.setMaxRequestSize(DataSize.parse(maxRequestSize));

  • 相关阅读:
    基于Or-Tools的整数规划问题求解
    机器学习(三)多项式回归
    Oracle数据库中索引的基本使用
    Java入门-----基本语法
    医疗器械安全最佳实践
    基于SSM的零食商店管理系统
    [刷题记录]牛客面试笔刷TOP101(二)
    正式阶段高等数学复习—函数和极限的基本概念
    机器学习第十三课--主成分分析PCA
    (Applied Intelligence-2022)TransGait: 基于多模态的步态识别与集合Transformer
  • 原文地址:https://blog.csdn.net/wang0112233/article/details/125999222