Commit 9fe8c0f0 by Nepxion

重构类结构

parent 2abf0c29
package com.nepxion.discovery.plugin.actuator.configuration;
/**
* <p>Title: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* @author Haojun Ren
* @version 1.0
*/
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.nepxion.discovery.plugin.actuator.endpoint.ActuatorEndpoint;
@Configuration
//@ConditionalOnProperty(value = "com.bkjk.platform.restclient.enabled", matchIfMissing = true)
public class ActuatorAutoConfiguration {
//
// @ConditionalOnBean(ServiceRegistry.class)
// @ConditionalOnClass(Endpoint.class)
// protected static class EurekaMgmtEndpointConfiguration {
// @Autowired(required = false)
// private Registration registration;
//
// @Bean
// public EurekaMgmtEndpoint serviceDiscoveryMgmtEndpoint(ServiceRegistry serviceRegistry) {
// EurekaMgmtEndpoint endpoint = new EurekaMgmtEndpoint(serviceRegistry);
// endpoint.setRegistration(registration);
// return endpoint;
// }
// }
@Bean
public ActuatorEndpoint actuatorEndpoint() {
return new ActuatorEndpoint();
}
}
\ No newline at end of file
package com.nepxion.discovery.plugin.actuator.endpoint;
/**
* <p>Title: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* @author Haojun Ren
* @version 1.0
*/
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;
import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedResource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.nepxion.discovery.plugin.core.cache.PluginCache;
@ManagedResource(description = "Discovery endpoint")
public class ActuatorEndpoint implements MvcEndpoint, ApplicationContextAware, EnvironmentAware {
private ConfigurableApplicationContext context;
private Environment environment;
@Autowired
private PluginCache pluginCache;
@RequestMapping(path = "filter", method = RequestMethod.GET)
@ManagedOperation
public Object filter(@RequestParam("serviceId") String serviceId, @RequestParam("ip") String ip) {
pluginCache.put(serviceId, ip);
return "success";
}
@Override
public String getPath() {
return "/discovery";
}
@SuppressWarnings("rawtypes")
@Override
public Class<? extends Endpoint> getEndpointType() {
return null;
}
@Override
public boolean isSensitive() {
return true;
}
@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if (applicationContext instanceof ConfigurableApplicationContext) {
this.context = (ConfigurableApplicationContext) applicationContext;
}
}
}
\ No newline at end of file
...@@ -17,7 +17,12 @@ ...@@ -17,7 +17,12 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>${project.groupId}</groupId> <groupId>${project.groupId}</groupId>
<artifactId>discovery-plugin-configuration</artifactId> <artifactId>discovery-plugin-config-center</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>discovery-plugin-actuator</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -2,5 +2,6 @@ org.springframework.context.ApplicationContextInitializer=\ ...@@ -2,5 +2,6 @@ org.springframework.context.ApplicationContextInitializer=\
com.nepxion.discovery.plugin.core.context.PluginApplicationContextInitializer com.nepxion.discovery.plugin.core.context.PluginApplicationContextInitializer
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.nepxion.discovery.plugin.core.config.PluginConfig,\ com.nepxion.discovery.plugin.core.configuration.PluginAutoConfiguration,\
com.nepxion.discovery.plugin.configuration.config.ConfigurationConfig com.nepxion.discovery.plugin.configcenter.configuration.ConfigAutoConfiguration,\
\ No newline at end of file com.nepxion.discovery.plugin.actuator.configuration.ActuatorAutoConfiguration
\ No newline at end of file
...@@ -14,8 +14,8 @@ import org.springframework.boot.builder.SpringApplicationBuilder; ...@@ -14,8 +14,8 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import com.nepxion.discovery.plugin.example.impl.DiscoveryConfigurationSimulator; import com.nepxion.discovery.plugin.example.impl.DiscoveryConfigSimulator;
import com.nepxion.discovery.plugin.example.impl.DiscoveryConfigurationLoader; import com.nepxion.discovery.plugin.example.impl.DiscoveryConfigLoader;
@SpringBootApplication @SpringBootApplication
@EnableDiscoveryClient @EnableDiscoveryClient
...@@ -25,12 +25,12 @@ public class DiscoveryApplication { ...@@ -25,12 +25,12 @@ public class DiscoveryApplication {
} }
@Bean @Bean
public DiscoveryConfigurationLoader discoveryConfigurationLoader() { public DiscoveryConfigLoader discoveryConfigLoader() {
return new DiscoveryConfigurationLoader(); return new DiscoveryConfigLoader();
} }
@Bean @Bean
public DiscoveryConfigurationSimulator discoveryConfigurationSimulator() { public DiscoveryConfigSimulator discoveryConfigSimulator() {
return new DiscoveryConfigurationSimulator(); return new DiscoveryConfigSimulator();
} }
} }
\ No newline at end of file
...@@ -15,10 +15,10 @@ import java.io.FileNotFoundException; ...@@ -15,10 +15,10 @@ import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import com.nepxion.discovery.plugin.configuration.loader.AbstractConfigurationLoader; import com.nepxion.discovery.plugin.configcenter.loader.AbstractConfigLoader;
// 模拟从本地配置或远程配置中心获取配置 // 模拟从本地配置或远程配置中心获取配置
public class DiscoveryConfigurationLoader extends AbstractConfigurationLoader { public class DiscoveryConfigLoader extends AbstractConfigLoader {
@Override @Override
public InputStream getRemoteInputStream() throws IOException { public InputStream getRemoteInputStream() throws IOException {
// 本地文件模拟代替远程文件 // 本地文件模拟代替远程文件
......
...@@ -21,12 +21,12 @@ import javax.annotation.PostConstruct; ...@@ -21,12 +21,12 @@ import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import com.nepxion.discovery.plugin.configuration.ConfigurationPublisher; import com.nepxion.discovery.plugin.configcenter.ConfigPublisher;
// 模拟从远程配置中心接受配置更新 // 模拟从远程配置中心接受配置更新
public class DiscoveryConfigurationSimulator { public class DiscoveryConfigSimulator {
@Autowired @Autowired
private ConfigurationPublisher configurationPublisher; private ConfigPublisher configPublisher;
@PostConstruct @PostConstruct
public void initialize() { public void initialize() {
...@@ -38,9 +38,9 @@ public class DiscoveryConfigurationSimulator { ...@@ -38,9 +38,9 @@ public class DiscoveryConfigurationSimulator {
public void run() { public void run() {
// 本地文件模拟代替远程文件,随机读取 // 本地文件模拟代替远程文件,随机读取
int index = threadLocalRandom.nextInt(5) + 1; int index = threadLocalRandom.nextInt(5) + 1;
System.out.println("-------------------- rule" + index + ".xml is loaded --------------------" ); System.out.println("-------------------- rule" + index + ".xml is loaded --------------------");
InputStream inputStream = getInputStream("src/main/resources/rule" + index + ".xml"); InputStream inputStream = getInputStream("src/main/resources/rule" + index + ".xml");
configurationPublisher.publish(inputStream); configPublisher.publish(inputStream);
} }
}, 10000L, 15000L); }, 10000L, 15000L);
} }
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</modules> </modules>
<properties> <properties>
<eventbus.version>1.0.8</eventbus.version> <eventbus.version>1.0.9</eventbus.version>
<commons.lang3.version>3.6</commons.lang3.version> <commons.lang3.version>3.6</commons.lang3.version>
<commons.collections4.version>4.1</commons.collections4.version> <commons.collections4.version>4.1</commons.collections4.version>
<commons.io.version>2.5</commons.io.version> <commons.io.version>2.5</commons.io.version>
......
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