Commit cccb90df by Nepxion

增加获取组的接口

parent 4264fe8e
......@@ -318,8 +318,8 @@ public class ServiceTopology extends AbstractTopology {
for (Map.Entry<String, List<Instance>> entry : instanceMap.entrySet()) {
List<Instance> instances = entry.getValue();
for (Instance instance : instances) {
String filter = InstanceEntityWrapper.getGroup(instance);
String plugin = InstanceEntityWrapper.getPlugin(instance);
String filter = InstanceEntityWrapper.getGroup(instance);
if (StringUtils.isNotEmpty(plugin) && !filters.contains(filter)) {
filters.add(filter);
}
......
......@@ -18,6 +18,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -38,6 +39,7 @@ import org.springframework.web.client.RestTemplate;
import com.nepxion.discovery.common.constant.DiscoveryConstant;
import com.nepxion.discovery.common.entity.InstanceEntity;
import com.nepxion.discovery.common.entity.InstanceEntityWrapper;
import com.nepxion.discovery.console.adapter.ConfigAdapter;
import com.nepxion.discovery.console.rest.ConfigClearRestInvoker;
import com.nepxion.discovery.console.rest.ConfigUpdateRestInvoker;
......@@ -69,6 +71,14 @@ public class ConsoleEndpoint {
return getConfigType();
}
@RequestMapping(path = "/groups", method = RequestMethod.GET)
@ApiOperation(value = "获取服务注册中心的服务所在的组列表", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
@ManagedOperation
public List<String> groups() {
return getGroups();
}
@RequestMapping(path = "/services", method = RequestMethod.GET)
@ApiOperation(value = "获取服务注册中心的服务列表", notes = "", response = List.class, httpMethod = "GET")
@ResponseBody
......@@ -201,6 +211,24 @@ public class ConsoleEndpoint {
return ResponseEntity.ok().body(configType);
}
public List<String> getGroups() {
List<String> groups = new ArrayList<String>();
List<String> services = getServices();
for (String service : services) {
List<InstanceEntity> instanceEntityList = getInstanceList(service);
for (InstanceEntity instance : instanceEntityList) {
String plugin = InstanceEntityWrapper.getPlugin(instance);
String group = InstanceEntityWrapper.getGroup(instance);
if (StringUtils.isNotEmpty(plugin) && !groups.contains(group)) {
groups.add(group);
}
}
}
return groups;
}
public List<String> getServices() {
return discoveryClient.getServices();
}
......
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