Commit cbac75f0 by Nepxion

重构类结构

parent 03d4b9ed
...@@ -13,12 +13,13 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -13,12 +13,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties; import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties;
import org.springframework.cloud.consul.discovery.ConsulRibbonClientConfiguration; import org.springframework.cloud.consul.discovery.ConsulRibbonClientConfiguration;
import org.springframework.cloud.consul.discovery.ConsulServerList;
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.ecwid.consul.v1.ConsulClient; import com.ecwid.consul.v1.ConsulClient;
import com.nepxion.discovery.plugin.framework.decorator.ConsulServerListDecorator; import com.nepxion.discovery.plugin.framework.decorator.ConsulServerListDecorator;
import com.nepxion.discovery.plugin.framework.listener.impl.LoadBalanceListenerExecutor;
import com.netflix.client.config.IClientConfig; import com.netflix.client.config.IClientConfig;
import com.netflix.loadbalancer.ServerList; import com.netflix.loadbalancer.ServerList;
...@@ -26,12 +27,20 @@ import com.netflix.loadbalancer.ServerList; ...@@ -26,12 +27,20 @@ import com.netflix.loadbalancer.ServerList;
@AutoConfigureAfter(ConsulRibbonClientConfiguration.class) @AutoConfigureAfter(ConsulRibbonClientConfiguration.class)
public class ConsulLoadBalanceConfiguration { public class ConsulLoadBalanceConfiguration {
@Autowired @Autowired
private ConfigurableEnvironment environment;
@Autowired
private LoadBalanceListenerExecutor loadBalanceListenerExecutor;
@Autowired
private ConsulClient client; private ConsulClient client;
@Bean @Bean
public ServerList<?> ribbonServerList(IClientConfig config, ConsulDiscoveryProperties properties) { public ServerList<?> ribbonServerList(IClientConfig config, ConsulDiscoveryProperties properties) {
ConsulServerList serverList = new ConsulServerListDecorator(client, properties); ConsulServerListDecorator serverList = new ConsulServerListDecorator(client, properties);
serverList.initWithNiwsConfig(config); serverList.initWithNiwsConfig(config);
serverList.setEnvironment(environment);
serverList.setLoadBalanceListenerExecutor(loadBalanceListenerExecutor);
return serverList; return serverList;
} }
......
...@@ -11,7 +11,6 @@ package com.nepxion.discovery.plugin.framework.decorator; ...@@ -11,7 +11,6 @@ package com.nepxion.discovery.plugin.framework.decorator;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties; import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties;
import org.springframework.cloud.consul.discovery.ConsulServer; import org.springframework.cloud.consul.discovery.ConsulServer;
import org.springframework.cloud.consul.discovery.ConsulServerList; import org.springframework.cloud.consul.discovery.ConsulServerList;
...@@ -22,10 +21,8 @@ import com.nepxion.discovery.plugin.framework.context.PluginContextAware; ...@@ -22,10 +21,8 @@ import com.nepxion.discovery.plugin.framework.context.PluginContextAware;
import com.nepxion.discovery.plugin.framework.listener.impl.LoadBalanceListenerExecutor; import com.nepxion.discovery.plugin.framework.listener.impl.LoadBalanceListenerExecutor;
public class ConsulServerListDecorator extends ConsulServerList { public class ConsulServerListDecorator extends ConsulServerList {
@Autowired
private ConfigurableEnvironment environment; private ConfigurableEnvironment environment;
@Autowired
private LoadBalanceListenerExecutor loadBalanceListenerExecutor; private LoadBalanceListenerExecutor loadBalanceListenerExecutor;
public ConsulServerListDecorator(ConsulClient client, ConsulDiscoveryProperties properties) { public ConsulServerListDecorator(ConsulClient client, ConsulDiscoveryProperties properties) {
...@@ -57,4 +54,12 @@ public class ConsulServerListDecorator extends ConsulServerList { ...@@ -57,4 +54,12 @@ public class ConsulServerListDecorator extends ConsulServerList {
loadBalanceListenerExecutor.onGetServers(serviceId, servers); loadBalanceListenerExecutor.onGetServers(serviceId, servers);
} }
} }
public void setEnvironment(ConfigurableEnvironment environment) {
this.environment = environment;
}
public void setLoadBalanceListenerExecutor(LoadBalanceListenerExecutor loadBalanceListenerExecutor) {
this.loadBalanceListenerExecutor = loadBalanceListenerExecutor;
}
} }
\ No newline at end of file
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