Commit eda35bf7 by Nepxion

优化类结构

parent 3951b268
......@@ -11,6 +11,8 @@ package com.nepxion.discovery.plugin.framework.context;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.core.ResolvableType;
......@@ -22,6 +24,9 @@ public class PluginContextAware implements ApplicationContextAware {
private ApplicationContext applicationContext;
private Environment environment;
@Autowired
private ServerProperties serverProperties;
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
......@@ -84,6 +89,18 @@ public class PluginContextAware implements ApplicationContextAware {
return environment;
}
public String getAddress() {
return serverProperties.getAddress().getHostAddress();
}
public int getPort() {
return serverProperties.getPort();
}
public String getServiceId() {
return environment.getProperty(PluginConstant.SPRING_APPLICATION_NAME);
}
public Boolean isRegisterControlEnabled() {
return isRegisterControlEnabled(environment);
}
......
......@@ -23,6 +23,7 @@ import org.springframework.cloud.client.ServiceInstance;
import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter;
import com.nepxion.discovery.plugin.framework.cache.RuleCache;
import com.nepxion.discovery.plugin.framework.constant.PluginConstant;
import com.nepxion.discovery.plugin.framework.context.PluginContextAware;
import com.nepxion.discovery.plugin.framework.entity.DiscoveryEntity;
import com.nepxion.discovery.plugin.framework.entity.DiscoveryServiceEntity;
import com.nepxion.discovery.plugin.framework.entity.RuleEntity;
......@@ -33,11 +34,14 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
private RuleCache ruleCache;
@Autowired
private PluginContextAware pluginContextAware;
@Autowired
private PluginAdapter pluginAdapter;
@Override
public void onGetInstances(String serviceId, List<ServiceInstance> instances) {
String consumerServiceId = environment.getProperty(PluginConstant.SPRING_APPLICATION_NAME);
String consumerServiceId = pluginContextAware.getServiceId();
String consumerServiceVersion = pluginAdapter.getVersion();
applyVersionFilter(consumerServiceId, consumerServiceVersion, serviceId, instances);
......
......@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter;
import com.nepxion.discovery.plugin.framework.cache.RuleCache;
import com.nepxion.discovery.plugin.framework.constant.PluginConstant;
import com.nepxion.discovery.plugin.framework.context.PluginContextAware;
import com.nepxion.discovery.plugin.framework.entity.DiscoveryEntity;
import com.nepxion.discovery.plugin.framework.entity.DiscoveryServiceEntity;
import com.nepxion.discovery.plugin.framework.entity.RuleEntity;
......@@ -33,11 +34,14 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
private RuleCache ruleCache;
@Autowired
private PluginContextAware pluginContextAware;
@Autowired
private PluginAdapter pluginAdapter;
@Override
public void onGetServers(String serviceId, List<? extends Server> servers) {
String consumerServiceId = environment.getProperty(PluginConstant.SPRING_APPLICATION_NAME);
String consumerServiceId = pluginContextAware.getServiceId();
String consumerServiceVersion = pluginAdapter.getVersion();
applyVersionFilter(consumerServiceId, consumerServiceVersion, serviceId, servers);
......
......@@ -23,7 +23,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -35,6 +34,7 @@ import org.springframework.web.client.RestTemplate;
import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter;
import com.nepxion.discovery.plugin.framework.constant.PluginConstant;
import com.nepxion.discovery.plugin.framework.context.PluginContainerInitializedHandler;
import com.nepxion.discovery.plugin.framework.context.PluginContextAware;
import com.nepxion.discovery.plugin.framework.entity.RouterEntity;
import com.nepxion.discovery.plugin.framework.exception.PluginException;
import com.nepxion.eventbus.util.HostUtil;
......@@ -46,10 +46,10 @@ public class RouterController {
private PluginContainerInitializedHandler pluginContainerInitializedHandler;
@Autowired
private PluginAdapter pluginAdapter;
private PluginContextAware pluginContextAware;
@Autowired
private ConfigurableEnvironment environment;
private PluginAdapter pluginAdapter;
@Autowired
private RestTemplate routerRestTemplate;
......@@ -102,7 +102,7 @@ public class RouterController {
}
public RouterEntity getRouterEntity() {
String serviceId = environment.getProperty(PluginConstant.SPRING_APPLICATION_NAME);
String serviceId = pluginContextAware.getServiceId();
String version = pluginAdapter.getVersion();
String host = HostUtil.getLocalhost();
int port = pluginContainerInitializedHandler.getPort();
......
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