Commit 1d114223 by Nepxion

升级到F版

parent 6774653e
......@@ -46,11 +46,6 @@
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
......
......@@ -9,8 +9,6 @@ package com.nepxion.discovery.console.configuration;
* @version 1.0
*/
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
......@@ -37,7 +35,6 @@ public class ConsoleAutoConfiguration {
System.out.println("");
}
@ConditionalOnClass(Endpoint.class)
protected static class ConsoleEndpointConfiguration {
@Bean
public ConsoleEndpoint consoleEndpoint() {
......
......@@ -19,18 +19,13 @@ import java.util.List;
import java.util.Map;
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.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.http.ResponseEntity;
import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedResource;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
......@@ -41,8 +36,7 @@ import com.nepxion.discovery.console.rest.VersionUpdateRestInvoker;
@RestController
@Api(tags = { "控制台接口" })
@ManagedResource(description = "Console Endpoint")
public class ConsoleEndpoint implements MvcEndpoint {
public class ConsoleEndpoint {
@Autowired
private DiscoveryClient discoveryClient;
......@@ -51,64 +45,48 @@ public class ConsoleEndpoint implements MvcEndpoint {
@RequestMapping(path = "/console/services", method = RequestMethod.GET)
@ApiOperation(value = "获取服务注册中心的服务列表", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public List<String> services() {
return getServices();
}
@RequestMapping(path = "/console/instances/{serviceId}", method = RequestMethod.GET)
@ApiOperation(value = "获取服务注册中心服务的实例列表", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public List<ServiceInstance> instances(@PathVariable(value = "serviceId") @ApiParam(value = "服务名", required = true) String serviceId) {
return getInstances(serviceId);
}
@RequestMapping(path = "/console/instance-list/{serviceId}", method = RequestMethod.GET)
@ApiOperation(value = "获取服务注册中心服务的实例列表(精简数据)", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public List<InstanceEntity> instanceList(@PathVariable(value = "serviceId") @ApiParam(value = "服务名", required = true) String serviceId) {
return getInstanceList(serviceId);
}
@RequestMapping(path = "/console/instance-map", method = RequestMethod.GET)
@ApiOperation(value = "获取服务注册中心的服务和实例的Map(精简数据)", notes = "", response = Map.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public Map<String, List<InstanceEntity>> instanceMap() {
return getInstanceMap();
}
@RequestMapping(path = "/console/config/update-async/{serviceId}", method = RequestMethod.POST)
@ApiOperation(value = "批量异步推送更新规则配置信息", notes = "", response = ResponseEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> configUpdateAsync(@PathVariable(value = "serviceId") @ApiParam(value = "服务名", required = true) String serviceId, @RequestBody @ApiParam(value = "规则配置内容,XML格式", required = true) String config) {
return executeConfigUpdate(serviceId, config, true);
}
@RequestMapping(path = "/console/config/update-sync/{serviceId}", method = RequestMethod.POST)
@ApiOperation(value = "批量同步推送更新规则配置信息", notes = "", response = ResponseEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> configUpdateSync(@PathVariable(value = "serviceId") @ApiParam(value = "服务名", required = true) String serviceId, @RequestBody @ApiParam(value = "规则配置内容,XML格式", required = true) String config) {
return executeConfigUpdate(serviceId, config, false);
}
@RequestMapping(path = "/console/version/update/{serviceId}", method = RequestMethod.POST)
@ApiOperation(value = "批量更新服务的动态版本", notes = "根据指定的localVersion更新服务的dynamicVersion。如果输入的localVersion不匹配服务的localVersion,则忽略;如果如果输入的localVersion为空,则直接更新服务的dynamicVersion", response = ResponseEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> versionUpdate(@PathVariable(value = "serviceId") @ApiParam(value = "服务名", required = true) String serviceId, @RequestBody @ApiParam(value = "版本号,格式为[dynamicVersion]或者[dynamicVersion];[localVersion]", required = true) String version) {
return executeVersionUpdate(serviceId, version);
}
@RequestMapping(path = "/console/version/clear/{serviceId}", method = RequestMethod.POST)
@ApiOperation(value = "批量清除服务的动态版本", notes = "根据指定的localVersion清除服务的dynamicVersion。如果输入的localVersion不匹配服务的localVersion,则忽略;如果如果输入的localVersion为空,则直接清除服务的dynamicVersion", response = ResponseEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> versionClear(@PathVariable(value = "serviceId") @ApiParam(value = "服务名", required = true) String serviceId, @RequestBody(required = false) @ApiParam(value = "版本号,指localVersion,可以为空") String version) {
return executeVersionClear(serviceId, version);
}
......@@ -176,19 +154,4 @@ public class ConsoleEndpoint implements MvcEndpoint {
return versionClearRestInvoker.invoke();
}
@Override
public String getPath() {
return "/";
}
@Override
public boolean isSensitive() {
return true;
}
@Override
public Class<? extends Endpoint<?>> getEndpointType() {
return null;
}
}
\ No newline at end of file
......@@ -21,11 +21,6 @@
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
......
......@@ -9,8 +9,6 @@ package com.nepxion.discovery.plugin.admincenter.configuration;
* @version 1.0
*/
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
......@@ -23,7 +21,6 @@ import com.nepxion.discovery.plugin.admincenter.endpoint.VersionEndpoint;
@Configuration
@Import(SwaggerConfiguration.class)
public class AdminAutoConfiguration {
@ConditionalOnClass(Endpoint.class)
protected static class AdminEndpointConfiguration {
@Bean
public ConfigEndpoint configEndpoint() {
......
......@@ -19,16 +19,11 @@ import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
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.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedResource;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.nepxion.discovery.plugin.framework.cache.RuleCache;
......@@ -40,9 +35,7 @@ import com.nepxion.discovery.plugin.framework.event.RuleChangedEvent;
@RestController
@Api(tags = { "配置接口" })
// 用法参照ServiceRegistryEndpoint和ServiceRegistryAutoConfiguration
@ManagedResource(description = "Config Endpoint")
public class ConfigEndpoint implements MvcEndpoint {
public class ConfigEndpoint {
@Autowired
private PluginContextAware pluginContextAware;
......@@ -54,24 +47,18 @@ public class ConfigEndpoint implements MvcEndpoint {
@RequestMapping(path = "/config/update-async", method = RequestMethod.POST)
@ApiOperation(value = "异步推送更新规则配置信息", notes = "", response = ResponseEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> updateAsync(@RequestBody @ApiParam(value = "规则配置内容,XML格式", required = true) String config) {
return update(config, true);
}
@RequestMapping(path = "/config/update-sync", method = RequestMethod.POST)
@ApiOperation(value = "同步推送更新规则配置信息", notes = "", response = ResponseEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> updateSync(@RequestBody @ApiParam(value = "规则配置内容,XML格式", required = true) String config) {
return update(config, false);
}
@RequestMapping(path = "/config/view", method = RequestMethod.GET)
@ApiOperation(value = "查看当前生效的规则配置信息", notes = "", response = ResponseEntity.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> view() {
RuleEntity ruleEntity = ruleCache.get(PluginConstant.RULE);
if (ruleEntity == null) {
......@@ -115,19 +102,4 @@ public class ConfigEndpoint implements MvcEndpoint {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(message);
}
@Override
public String getPath() {
return "/";
}
@Override
public boolean isSensitive() {
return true;
}
@Override
public Class<? extends Endpoint<?>> getEndpointType() {
return null;
}
}
\ No newline at end of file
......@@ -21,18 +21,13 @@ import java.util.Map;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
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.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.serviceregistry.Registration;
import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedResource;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
......@@ -44,8 +39,7 @@ import com.nepxion.discovery.plugin.framework.exception.PluginException;
@RestController
@Api(tags = { "路由接口" })
@ManagedResource(description = "Router Endpoint")
public class RouterEndpoint implements MvcEndpoint {
public class RouterEndpoint {
@Autowired
private PluginAdapter pluginAdapter;
......@@ -60,48 +54,36 @@ public class RouterEndpoint implements MvcEndpoint {
@RequestMapping(path = "/router/services", method = RequestMethod.GET)
@ApiOperation(value = "获取服务注册中心的服务列表", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public List<String> services() {
return getServices();
}
@RequestMapping(path = "/router/instances/{serviceId}", method = RequestMethod.GET)
@ApiOperation(value = "获取本地节点可访问其他节点(根据服务名)的实例列表", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public List<ServiceInstance> instances(@PathVariable(value = "serviceId") @ApiParam(value = "目标服务名", required = true) String serviceId) {
return getInstanceList(serviceId);
}
@RequestMapping(path = "/router/info", method = RequestMethod.GET)
@ApiOperation(value = "获取本地节点信息", notes = "获取当前节点的简单信息", response = RouterEntity.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public RouterEntity info() {
return getRouterEntity();
}
@RequestMapping(path = "/router/route/{routeServiceId}", method = RequestMethod.GET)
@ApiOperation(value = "获取本地节点可访问其他节点(根据服务名)的路由信息列表", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public List<RouterEntity> route(@PathVariable(value = "routeServiceId") @ApiParam(value = "目标服务名", required = true) String routeServiceId) {
return getRouterEntityList(routeServiceId);
}
@RequestMapping(path = "/router/route/{routeServiceId}/{routeHost}/{routePort}", method = RequestMethod.GET)
@ApiOperation(value = "获取指定节点(根据IP和端口)可访问其他节点(根据服务名)的路由信息列表", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public List<RouterEntity> route(@PathVariable(value = "routeServiceId") @ApiParam(value = "目标服务名", required = true) String routeServiceId, @PathVariable(value = "routeHost") @ApiParam(value = "目标服务所在机器的IP地址", required = true) String routeHost, @PathVariable(value = "routePort") @ApiParam(value = "目标服务所在机器的端口号", required = true) int routePort) {
return getRouterEntityList(routeServiceId, routeHost, routePort);
}
@RequestMapping(path = "/router/routes", method = RequestMethod.POST)
@ApiOperation(value = "获取全路径的路由信息树", notes = "参数按调用服务名的前后次序排列,起始节点的服务名不能加上去。如果多个用“;”分隔,不允许出现空格", response = RouterEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public RouterEntity routes(@RequestBody @ApiParam(value = "例如:service-a;service-b", required = true) String routeServiceIds) {
return routeTree(routeServiceIds);
}
......@@ -261,19 +243,4 @@ public class RouterEndpoint implements MvcEndpoint {
return routerEntityList;
}
@Override
public String getPath() {
return "/";
}
@Override
public boolean isSensitive() {
return true;
}
@Override
public Class<? extends Endpoint<?>> getEndpointType() {
return null;
}
}
\ No newline at end of file
......@@ -18,16 +18,11 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
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.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedResource;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter;
......@@ -39,8 +34,7 @@ import com.nepxion.discovery.plugin.framework.event.VersionUpdatedEvent;
@RestController
@Api(tags = { "版本接口" })
@ManagedResource(description = "Version Endpoint")
public class VersionEndpoint implements MvcEndpoint {
public class VersionEndpoint {
@Autowired
private PluginContextAware pluginContextAware;
......@@ -52,8 +46,6 @@ public class VersionEndpoint implements MvcEndpoint {
@RequestMapping(path = "/version/update", method = RequestMethod.POST)
@ApiOperation(value = "更新服务的动态版本", notes = "根据指定的localVersion更新服务的dynamicVersion。如果输入的localVersion不匹配服务的localVersion,则忽略;如果如果输入的localVersion为空,则直接更新服务的dynamicVersion", response = ResponseEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> update(@RequestBody @ApiParam(value = "版本号,格式为[dynamicVersion]或者[dynamicVersion];[localVersion]", required = true) String version) {
Boolean discoveryControlEnabled = pluginContextAware.isDiscoveryControlEnabled();
if (!discoveryControlEnabled) {
......@@ -83,8 +75,6 @@ public class VersionEndpoint implements MvcEndpoint {
@RequestMapping(path = "/version/clear", method = RequestMethod.POST)
@ApiOperation(value = "清除服务的动态版本", notes = "根据指定的localVersion清除服务的dynamicVersion。如果输入的localVersion不匹配服务的localVersion,则忽略;如果如果输入的localVersion为空,则直接清除服务的dynamicVersion", response = ResponseEntity.class, httpMethod = "POST")
@ResponseBody
@ManagedOperation
public ResponseEntity<?> clear(@RequestBody(required = false) @ApiParam(value = "版本号,指localVersion,可以为空") String version) {
Boolean discoveryControlEnabled = pluginContextAware.isDiscoveryControlEnabled();
if (!discoveryControlEnabled) {
......@@ -103,8 +93,6 @@ public class VersionEndpoint implements MvcEndpoint {
@RequestMapping(path = "/version/view", method = RequestMethod.GET)
@ApiOperation(value = "查看服务的本地版本和动态版本", notes = "", response = ResponseEntity.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public ResponseEntity<List<String>> view() {
List<String> versionList = new ArrayList<String>(2);
......@@ -116,19 +104,4 @@ public class VersionEndpoint implements MvcEndpoint {
return ResponseEntity.ok().body(versionList);
}
@Override
public String getPath() {
return "/";
}
@Override
public boolean isSensitive() {
return true;
}
@Override
public Class<? extends Endpoint<?>> getEndpointType() {
return null;
}
}
\ No newline at end of file
......@@ -22,7 +22,7 @@
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-all</artifactId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -49,7 +49,7 @@
<!-- <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-all</artifactId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
......
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