Commit c6a11a68 by Nepxion

重构类结构

parent b8501411
...@@ -10,13 +10,14 @@ package com.nepxion.discovery.plugin.strategy.service.configuration; ...@@ -10,13 +10,14 @@ package com.nepxion.discovery.plugin.strategy.service.configuration;
*/ */
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.ConfigurableEnvironment;
import com.nepxion.discovery.common.exception.DiscoveryException; import com.nepxion.discovery.common.exception.DiscoveryException;
import com.nepxion.discovery.plugin.strategy.adapter.DiscoveryEnabledAdapter; import com.nepxion.discovery.plugin.strategy.adapter.DiscoveryEnabledAdapter;
...@@ -32,15 +33,13 @@ import com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyCon ...@@ -32,15 +33,13 @@ import com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyCon
@AutoConfigureBefore(RibbonClientConfiguration.class) @AutoConfigureBefore(RibbonClientConfiguration.class)
@ConditionalOnProperty(value = StrategyConstant.SPRING_APPLICATION_STRATEGY_CONTROL_ENABLED, matchIfMissing = true) @ConditionalOnProperty(value = StrategyConstant.SPRING_APPLICATION_STRATEGY_CONTROL_ENABLED, matchIfMissing = true)
public class ServiceStrategyAutoConfiguration { public class ServiceStrategyAutoConfiguration {
@Value("${" + ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES + ":}") @Autowired
private String scanPackages; private ConfigurableEnvironment environment;
@Value("${" + ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS + ":}")
private String requestHeaders;
@Bean @Bean
@ConditionalOnProperty(value = ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES, matchIfMissing = false) @ConditionalOnProperty(value = ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES, matchIfMissing = false)
public ServiceStrategyAutoScanProxy serviceStrategyAutoScanProxy() { public ServiceStrategyAutoScanProxy serviceStrategyAutoScanProxy() {
String scanPackages = environment.getProperty(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES);
if (StringUtils.isEmpty(scanPackages)) { if (StringUtils.isEmpty(scanPackages)) {
throw new DiscoveryException(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES + "'s value can't be empty, remove it if useless"); throw new DiscoveryException(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES + "'s value can't be empty, remove it if useless");
} }
...@@ -55,6 +54,7 @@ public class ServiceStrategyAutoConfiguration { ...@@ -55,6 +54,7 @@ public class ServiceStrategyAutoConfiguration {
@Bean @Bean
@ConditionalOnProperty(value = ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES, matchIfMissing = false) @ConditionalOnProperty(value = ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES, matchIfMissing = false)
public ServiceStrategyInterceptor serviceStrategyInterceptor() { public ServiceStrategyInterceptor serviceStrategyInterceptor() {
String scanPackages = environment.getProperty(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES);
if (StringUtils.isEmpty(scanPackages)) { if (StringUtils.isEmpty(scanPackages)) {
throw new DiscoveryException(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES + " can't be empty, remove it if useless"); throw new DiscoveryException(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_SCAN_PACKAGES + " can't be empty, remove it if useless");
} }
...@@ -69,6 +69,7 @@ public class ServiceStrategyAutoConfiguration { ...@@ -69,6 +69,7 @@ public class ServiceStrategyAutoConfiguration {
@Bean @Bean
@ConditionalOnProperty(value = ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS, matchIfMissing = false) @ConditionalOnProperty(value = ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS, matchIfMissing = false)
public FeignStrategyInterceptor feignStrategyInterceptor() { public FeignStrategyInterceptor feignStrategyInterceptor() {
String requestHeaders = environment.getProperty(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS);
if (StringUtils.isEmpty(requestHeaders)) { if (StringUtils.isEmpty(requestHeaders)) {
throw new DiscoveryException(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS + " can't be empty, remove it if useless"); throw new DiscoveryException(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS + " can't be empty, remove it if useless");
} }
...@@ -79,6 +80,7 @@ public class ServiceStrategyAutoConfiguration { ...@@ -79,6 +80,7 @@ public class ServiceStrategyAutoConfiguration {
@Bean @Bean
@ConditionalOnProperty(value = ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS, matchIfMissing = false) @ConditionalOnProperty(value = ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS, matchIfMissing = false)
public RestTemplateStrategyInterceptor restTemplateStrategyInterceptor() { public RestTemplateStrategyInterceptor restTemplateStrategyInterceptor() {
String requestHeaders = environment.getProperty(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS);
if (StringUtils.isEmpty(requestHeaders)) { if (StringUtils.isEmpty(requestHeaders)) {
throw new DiscoveryException(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS + " can't be empty, remove it if useless"); throw new DiscoveryException(ServiceStrategyConstant.SPRING_APPLICATION_STRATEGY_REQUEST_HEADERS + " can't be empty, remove it if useless");
} }
......
...@@ -10,13 +10,13 @@ package com.nepxion.discovery.plugin.strategy.configuration; ...@@ -10,13 +10,13 @@ package com.nepxion.discovery.plugin.strategy.configuration;
*/ */
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.cloud.netflix.ribbon.PropertiesFactory; import org.springframework.cloud.netflix.ribbon.PropertiesFactory;
import org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration;
import org.springframework.cloud.netflix.ribbon.RibbonClientName; import org.springframework.cloud.netflix.ribbon.RibbonClientName;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.ConfigurableEnvironment;
import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter; import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter;
import com.nepxion.discovery.plugin.strategy.adapter.DiscoveryEnabledAdapter; import com.nepxion.discovery.plugin.strategy.adapter.DiscoveryEnabledAdapter;
...@@ -31,8 +31,8 @@ import com.netflix.loadbalancer.IRule; ...@@ -31,8 +31,8 @@ import com.netflix.loadbalancer.IRule;
@Configuration @Configuration
@AutoConfigureBefore(RibbonClientConfiguration.class) @AutoConfigureBefore(RibbonClientConfiguration.class)
public class StrategyLoadBalanceConfiguration { public class StrategyLoadBalanceConfiguration {
@Value("${" + StrategyConstant.SPRING_APPLICATION_STRATEGY_ZONE_AVOIDANCE_RULE_ENABLED + ":true}") @Autowired
private boolean zoneAvoidanceRuleEnabled; private ConfigurableEnvironment environment;
@RibbonClientName @RibbonClientName
private String serviceId = "client"; private String serviceId = "client";
...@@ -52,6 +52,7 @@ public class StrategyLoadBalanceConfiguration { ...@@ -52,6 +52,7 @@ public class StrategyLoadBalanceConfiguration {
return this.propertiesFactory.get(IRule.class, config, serviceId); return this.propertiesFactory.get(IRule.class, config, serviceId);
} }
boolean zoneAvoidanceRuleEnabled = environment.getProperty(StrategyConstant.SPRING_APPLICATION_STRATEGY_ZONE_AVOIDANCE_RULE_ENABLED, Boolean.class, Boolean.TRUE);
if (zoneAvoidanceRuleEnabled) { if (zoneAvoidanceRuleEnabled) {
DiscoveryEnabledZoneAvoidanceRule discoveryEnabledRule = new DiscoveryEnabledZoneAvoidanceRule(); DiscoveryEnabledZoneAvoidanceRule discoveryEnabledRule = new DiscoveryEnabledZoneAvoidanceRule();
discoveryEnabledRule.initWithNiwsConfig(config); discoveryEnabledRule.initWithNiwsConfig(config);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment