|
@ -43,18 +43,25 @@ public class ServerHeart implements Runnable {
|
|
|
try {
|
|
|
//先去eureka获取数据
|
|
|
for (Application application : eurekaClient.getApplications().getRegisteredApplications()) {
|
|
|
MicroService microService = new MicroService(application.getName());
|
|
|
List<InstanceInfo> instanceInfos = application.getInstancesAsIsFromEureka();
|
|
|
for (InstanceInfo instanceInfo : instanceInfos) {
|
|
|
Server server = new Server();
|
|
|
BeanUtils.copyProperties(instanceInfo, server);
|
|
|
server.setStatus(instanceInfo.getStatus().toString());
|
|
|
server.setIp(instanceInfo.getIPAddr());
|
|
|
server.setUuid(MD5.GetMD5Code(microService.getName() + "-" + instanceInfo.getInstanceId()));
|
|
|
logger.debug(server.toString());
|
|
|
microService.getServers().add(server);
|
|
|
String key = eureka_pre + application.getName();
|
|
|
MicroService microService = null;
|
|
|
if (microServices.containsKey(key)) {
|
|
|
microService = microServices.get(key);
|
|
|
} else {
|
|
|
microService = new MicroService(application.getName());
|
|
|
List<InstanceInfo> instanceInfos = application.getInstancesAsIsFromEureka();
|
|
|
for (InstanceInfo instanceInfo : instanceInfos) {
|
|
|
Server server = new Server();
|
|
|
BeanUtils.copyProperties(instanceInfo, server);
|
|
|
server.setStatus(instanceInfo.getStatus().toString());
|
|
|
server.setIp(instanceInfo.getIPAddr());
|
|
|
server.setUuid(MD5.GetMD5Code(microService.getName() + "-" + instanceInfo.getInstanceId()));
|
|
|
logger.debug(server.toString());
|
|
|
microService.getServers().add(server);
|
|
|
}
|
|
|
}
|
|
|
microServices.put(eureka_pre + microService.getName(), microService);
|
|
|
|
|
|
microServices.put(key, microService);
|
|
|
}
|
|
|
//如果不是从eureka获取的自己在手动去更新状态
|
|
|
for (Map.Entry<String, MicroService> one : microServices.entrySet()) {
|