定制软件开发SpringCloud无法引用IRule?

目录


一、问题描述

         定制软件开发今天在使用SpringCloud定制软件开发做负载均衡策略修改时,定制软件开发做了对应配置如下:

  1. @Bean
  2. public IRule getRandomRule() {
  3. return new RandomRule();//创建“随机”负载均衡策略,默认策略是“轮询”
  4. }

         然而发现无论如何都引用不了IRuleRandomRule。始终报红色提示,如下图所示:

         实际上,它们都位于com.netflix.loadbalancer这个包下。

  1. import com.netflix.loadbalancer.IRule;
  2. import com.netflix.loadbalancer.RandomRule;

二、解决历程

         首先我想到的是:难道Maven需要导入Ribbon的依赖?虽然百度说SpringCloud已经集成了Ribbon,但是我还是抱着试一试的心态添加了。

  1. <!-- Ribbon组件 -->
  2. <dependency>
  3. <groupId>com.netflix.ribbon</groupId>
  4. <artifactId>ribbon</artifactId>
  5. <version>2.2.2</version>
  6. </dependency>
  7. <!--SpringCloud集成Ribbon组件-->
  8. <dependency>
  9. <groupId>org.springframework.cloud</groupId>
  10. <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
  11. <version>2.2.6.RELEASE</version>
  12. </dependency>
  13. <!-- 如果在maven中找不到,就去SpringCloud仓库找 -->
  14. <repositories>
  15. <repository>
  16. <id>spring-milestones</id>
  17. <name>Spring Milestones</name>
  18. <url>https://repo.spring.io/libs-milestone</url>
  19. <snapshots>
  20. <enabled>false</enabled>
  21. </snapshots>
  22. </repository>
  23. </repositories>

         随后我在此基础上也做了“万变不离其宗”的修改,但基本都是即使解决了,也会报错。这些方案都只能证明无效!


三、解决方案

         最后,思考良久打算从SpringBoot和SpringCloud的版本入手。我们都知道,SpringBoot与SpringCloud版本需要对应。而我是使用IDEA自带的SpringBoot模板生成的,它默认的SpringBoot版本是2.5.2

         最在查询了一番,选定了SpringBoot2.5.2 + SpringCloud2020.0.3的版本组合。

  1. "spring-cloud": {
  2. "Hoxton.SR12": "Spring Boot >=2.2.0.RELEASE and <2.4.0.M1",
  3. "2020.0.0-M3": "Spring Boot >=2.4.0.M1 and <=2.4.0.M1",
  4. "2020.0.0-M4": "Spring Boot >=2.4.0.M2 and <=2.4.0-M3",
  5. "2020.0.0": "Spring Boot >=2.4.0.M4 and <=2.4.0",
  6. "2020.0.3": "Spring Boot >=2.4.1 and <2.5.3-SNAPSHOT",
  7. "2020.0.4-SNAPSHOT": "Spring Boot >=2.5.3-SNAPSHOT"
  8. }

         于是,经过不断尝试我降低了版本。最后选定了SpringBoot2.3.4.RELEASE + SpringCloudHoxton.SR12的版本组合,终于成功

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.3.4.RELEASE</version>
  5. <relativePath/>
  6. </parent>
  7. <properties>
  8. <java.version>1.8</java.version>
  9. <spring-cloud.version>Hoxton.SR12</spring-cloud.version>
  10. </properties>

         不再报错,成功解决!

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发