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 @@
<dependencies>
<dependency>
<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>
</dependencies>
</project>
\ No newline at end of file
......@@ -2,5 +2,6 @@ org.springframework.context.ApplicationContextInitializer=\
com.nepxion.discovery.plugin.core.context.PluginApplicationContextInitializer
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.nepxion.discovery.plugin.core.config.PluginConfig,\
com.nepxion.discovery.plugin.configuration.config.ConfigurationConfig
\ No newline at end of file
com.nepxion.discovery.plugin.core.configuration.PluginAutoConfiguration,\
com.nepxion.discovery.plugin.configcenter.configuration.ConfigAutoConfiguration,\
com.nepxion.discovery.plugin.actuator.configuration.ActuatorAutoConfiguration
\ No newline at end of file
......@@ -14,8 +14,8 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Bean;
import com.nepxion.discovery.plugin.example.impl.DiscoveryConfigurationSimulator;
import com.nepxion.discovery.plugin.example.impl.DiscoveryConfigurationLoader;
import com.nepxion.discovery.plugin.example.impl.DiscoveryConfigSimulator;
import com.nepxion.discovery.plugin.example.impl.DiscoveryConfigLoader;
@SpringBootApplication
@EnableDiscoveryClient
......@@ -25,12 +25,12 @@ public class DiscoveryApplication {
}
@Bean
public DiscoveryConfigurationLoader discoveryConfigurationLoader() {
return new DiscoveryConfigurationLoader();
public DiscoveryConfigLoader discoveryConfigLoader() {
return new DiscoveryConfigLoader();
}
@Bean
public DiscoveryConfigurationSimulator discoveryConfigurationSimulator() {
return new DiscoveryConfigurationSimulator();
public DiscoveryConfigSimulator discoveryConfigSimulator() {
return new DiscoveryConfigSimulator();
}
}
\ No newline at end of file
......@@ -15,10 +15,10 @@ import java.io.FileNotFoundException;
import java.io.IOException;
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
public InputStream getRemoteInputStream() throws IOException {
// 本地文件模拟代替远程文件
......
......@@ -21,12 +21,12 @@ import javax.annotation.PostConstruct;
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
private ConfigurationPublisher configurationPublisher;
private ConfigPublisher configPublisher;
@PostConstruct
public void initialize() {
......@@ -38,9 +38,9 @@ public class DiscoveryConfigurationSimulator {
public void run() {
// 本地文件模拟代替远程文件,随机读取
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");
configurationPublisher.publish(inputStream);
configPublisher.publish(inputStream);
}
}, 10000L, 15000L);
}
......
......@@ -22,7 +22,7 @@
</modules>
<properties>
<eventbus.version>1.0.8</eventbus.version>
<eventbus.version>1.0.9</eventbus.version>
<commons.lang3.version>3.6</commons.lang3.version>
<commons.collections4.version>4.1</commons.collections4.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