Просмотр исходного кода

update 调整dubbo自定义负载均衡配置注入 使用spring自动注入

疯狂的狮子li 4 лет назад
Родитель
Сommit
6678ec6b7b

+ 25 - 0
ruoyi-common/ruoyi-common-loadbalancer/src/main/java/com/ruoyi/common/loadbalance/config/CustomEnvironmentPostProcessor.java

@@ -0,0 +1,25 @@
+package com.ruoyi.common.loadbalance.config;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.env.EnvironmentPostProcessor;
+import org.springframework.core.Ordered;
+import org.springframework.core.env.ConfigurableEnvironment;
+
+/**
+ * dubbo自定义负载均衡配置注入
+ *
+ * @author Lion Li
+ */
+public class CustomEnvironmentPostProcessor implements EnvironmentPostProcessor, Ordered {
+
+	@Override
+	public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
+        System.setProperty("dubbo.consumer.loadbalance", "customDubboLoadBalancer");
+	}
+
+	@Override
+	public int getOrder() {
+		return Ordered.HIGHEST_PRECEDENCE;
+	}
+
+}

+ 0 - 2
ruoyi-common/ruoyi-common-loadbalancer/src/main/java/com/ruoyi/common/loadbalance/config/CustomLoadBalanceAutoConfiguration.java

@@ -1,14 +1,12 @@
 package com.ruoyi.common.loadbalance.config;
 
 import org.springframework.cloud.loadbalancer.annotation.LoadBalancerClients;
-import org.springframework.context.annotation.PropertySource;
 
 /**
  * 自定义负载均衡自动配置
  *
  * @author Lion Li
  */
-@PropertySource(value = "classpath:loadbalance.properties", encoding = "UTF-8")
 @LoadBalancerClients(defaultConfiguration = CustomLoadBalanceClientConfiguration.class)
 public class CustomLoadBalanceAutoConfiguration {
 

+ 2 - 0
ruoyi-common/ruoyi-common-loadbalancer/src/main/resources/META-INF/spring.factories

@@ -1,2 +1,4 @@
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
   com.ruoyi.common.loadbalance.config.CustomLoadBalanceAutoConfiguration
+org.springframework.boot.env.EnvironmentPostProcessor=\
+  com.ruoyi.common.loadbalance.config.CustomEnvironmentPostProcessor

+ 0 - 1
ruoyi-common/ruoyi-common-loadbalancer/src/main/resources/loadbalance.properties

@@ -1 +0,0 @@
-dubbo.consumer.loadbalance=customDubboLoadBalancer