From 45ced0100eeeba6931ca9fef53e22be629dfff0a Mon Sep 17 00:00:00 2001 From: zlt2000 Date: Fri, 24 Apr 2020 12:23:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E8=B7=AF=E7=94=B1=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ribbon/LbIsolationAutoConfigure.java | 19 ++++----------- .../common/ribbon/config/RuleConfigure.java | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/config/RuleConfigure.java diff --git a/zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/LbIsolationAutoConfigure.java b/zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/LbIsolationAutoConfigure.java index 4173883..6dbb941 100644 --- a/zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/LbIsolationAutoConfigure.java +++ b/zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/LbIsolationAutoConfigure.java @@ -1,15 +1,9 @@ package com.central.common.ribbon; -import com.alibaba.cloud.nacos.ribbon.NacosServer; import com.central.common.constant.ConfigConstants; -import com.central.common.ribbon.rule.VersionIsolationRule; -import com.netflix.loadbalancer.IRule; -import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import com.central.common.ribbon.config.RuleConfigure; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration; -import org.springframework.context.annotation.Bean; +import org.springframework.cloud.netflix.ribbon.RibbonClients; /** * 自定义负载均衡配置 @@ -21,12 +15,7 @@ import org.springframework.context.annotation.Bean; * Github: https://github.com/zlt2000 */ @ConditionalOnProperty(value = ConfigConstants.CONFIG_RIBBON_ISOLATION_ENABLED, havingValue = "true") -@AutoConfigureBefore(RibbonClientConfiguration.class) +@RibbonClients(defaultConfiguration = {RuleConfigure.class}) public class LbIsolationAutoConfigure { - @Bean - @ConditionalOnClass(NacosServer.class) - @ConditionalOnMissingBean - public IRule versionIsolationRule() { - return new VersionIsolationRule(); - } + } diff --git a/zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/config/RuleConfigure.java b/zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/config/RuleConfigure.java new file mode 100644 index 0000000..75d61d4 --- /dev/null +++ b/zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/config/RuleConfigure.java @@ -0,0 +1,24 @@ +package com.central.common.ribbon.config; + +import com.alibaba.cloud.nacos.ribbon.NacosServer; +import com.central.common.ribbon.rule.VersionIsolationRule; +import com.netflix.loadbalancer.IRule; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; + +/** + * @author zlt + * @date 2020/4/24 + *

+ * Blog: https://zlt2000.gitee.io + * Github: https://github.com/zlt2000 + */ +public class RuleConfigure { + @Bean + @ConditionalOnClass(NacosServer.class) + @ConditionalOnMissingBean + public IRule versionIsolationRule() { + return new VersionIsolationRule(); + } +} -- GitLab