diff --git a/sop-admin/sop-admin-server/pom.xml b/sop-admin/sop-admin-server/pom.xml
index c71269bc..8411e651 100644
--- a/sop-admin/sop-admin-server/pom.xml
+++ b/sop-admin/sop-admin-server/pom.xml
@@ -36,12 +36,6 @@
0.2.3
-
- com.gitee.sop
- sop-registry-api
- 2.0.0-SNAPSHOT
-
-
net.oschina.durcframework
@@ -55,6 +49,12 @@
1.8.1
+
+ com.squareup.okhttp3
+ okhttp
+ ${okhttp.version}
+
+
mysql
mysql-connector-java
diff --git a/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/api/service/ServiceApi.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/api/service/ServiceApi.java
index d6fd79cf..f4160a25 100644
--- a/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/api/service/ServiceApi.java
+++ b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/api/service/ServiceApi.java
@@ -18,6 +18,8 @@ import com.gitee.sop.adminserver.bean.ChannelMsg;
import com.gitee.sop.adminserver.bean.MetadataEnum;
import com.gitee.sop.adminserver.bean.NacosConfigs;
import com.gitee.sop.adminserver.bean.ServiceGrayDefinition;
+import com.gitee.sop.adminserver.bean.ServiceInfo;
+import com.gitee.sop.adminserver.bean.ServiceInstance;
import com.gitee.sop.adminserver.common.BizException;
import com.gitee.sop.adminserver.common.ChannelOperation;
import com.gitee.sop.adminserver.common.StatusEnum;
@@ -26,9 +28,7 @@ import com.gitee.sop.adminserver.entity.ConfigGrayInstance;
import com.gitee.sop.adminserver.mapper.ConfigGrayInstanceMapper;
import com.gitee.sop.adminserver.mapper.ConfigGrayMapper;
import com.gitee.sop.adminserver.service.ConfigPushService;
-import com.gitee.sop.registryapi.bean.ServiceInfo;
-import com.gitee.sop.registryapi.bean.ServiceInstance;
-import com.gitee.sop.registryapi.service.RegistryService;
+import com.gitee.sop.adminserver.service.RegistryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
diff --git a/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/api/service/param/ServiceInstanceParam.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/api/service/param/ServiceInstanceParam.java
index ad550de5..bddabe9f 100644
--- a/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/api/service/param/ServiceInstanceParam.java
+++ b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/api/service/param/ServiceInstanceParam.java
@@ -2,7 +2,7 @@ package com.gitee.sop.adminserver.api.service.param;
import com.gitee.easyopen.doc.annotation.ApiDocField;
import com.gitee.easyopen.util.CopyUtil;
-import com.gitee.sop.registryapi.bean.ServiceInstance;
+import com.gitee.sop.adminserver.bean.ServiceInstance;
import lombok.Data;
import javax.validation.constraints.NotBlank;
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/HttpTool.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/HttpTool.java
similarity index 99%
rename from sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/HttpTool.java
rename to sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/HttpTool.java
index 3b6d15dc..181ea3b1 100644
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/HttpTool.java
+++ b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/HttpTool.java
@@ -1,4 +1,4 @@
-package com.gitee.sop.registryapi.bean;
+package com.gitee.sop.adminserver.bean;
import lombok.Data;
import lombok.Getter;
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/ServiceInfo.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/ServiceInfo.java
similarity index 85%
rename from sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/ServiceInfo.java
rename to sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/ServiceInfo.java
index 45417810..8a10e096 100644
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/ServiceInfo.java
+++ b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/ServiceInfo.java
@@ -1,4 +1,4 @@
-package com.gitee.sop.registryapi.bean;
+package com.gitee.sop.adminserver.bean;
import lombok.Data;
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/ServiceInstance.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/ServiceInstance.java
similarity index 94%
rename from sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/ServiceInstance.java
rename to sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/ServiceInstance.java
index 8e62edb7..10603d65 100644
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/ServiceInstance.java
+++ b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/bean/ServiceInstance.java
@@ -1,4 +1,4 @@
-package com.gitee.sop.registryapi.bean;
+package com.gitee.sop.adminserver.bean;
import lombok.Data;
diff --git a/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/config/RegistryConfig.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/config/RegistryConfig.java
deleted file mode 100644
index 57b9e819..00000000
--- a/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/config/RegistryConfig.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.gitee.sop.adminserver.config;
-
-import com.gitee.sop.registryapi.config.BaseRegistryConfig;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author tanghc
- */
-@Configuration
-public class RegistryConfig extends BaseRegistryConfig {
-
-}
diff --git a/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/config/WebConfig.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/config/WebConfig.java
index 549a6223..6208b9e7 100644
--- a/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/config/WebConfig.java
+++ b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/config/WebConfig.java
@@ -9,6 +9,8 @@ import com.gitee.easyopen.ParamNames;
import com.gitee.easyopen.interceptor.ApiInterceptor;
import com.gitee.easyopen.session.ApiSessionManager;
import com.gitee.sop.adminserver.interceptor.LoginInterceptor;
+import com.gitee.sop.adminserver.service.RegistryService;
+import com.gitee.sop.adminserver.service.impl.RegistryServiceNacosImpl;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -65,6 +67,16 @@ public class WebConfig {
return apiConfig;
}
+ /**
+ * 当配置了registry.name=nacos生效。没有配置同样生效
+ *
+ * @return
+ */
+ @Bean
+ RegistryService registryServiceNacos() {
+ return new RegistryServiceNacosImpl();
+ }
+
@PostConstruct
public void after() {
}
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/RegistryService.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/service/RegistryService.java
similarity index 88%
rename from sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/RegistryService.java
rename to sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/service/RegistryService.java
index 33988ca3..4799997d 100644
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/RegistryService.java
+++ b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/service/RegistryService.java
@@ -1,7 +1,7 @@
-package com.gitee.sop.registryapi.service;
+package com.gitee.sop.adminserver.service;
-import com.gitee.sop.registryapi.bean.ServiceInfo;
-import com.gitee.sop.registryapi.bean.ServiceInstance;
+import com.gitee.sop.adminserver.bean.ServiceInfo;
+import com.gitee.sop.adminserver.bean.ServiceInstance;
import java.util.List;
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/impl/RegistryServiceNacos.java b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/service/impl/RegistryServiceNacosImpl.java
similarity index 89%
rename from sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/impl/RegistryServiceNacos.java
rename to sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/service/impl/RegistryServiceNacosImpl.java
index 3af74761..a7bfced5 100644
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/impl/RegistryServiceNacos.java
+++ b/sop-admin/sop-admin-server/src/main/java/com/gitee/sop/adminserver/service/impl/RegistryServiceNacosImpl.java
@@ -1,4 +1,4 @@
-package com.gitee.sop.registryapi.service.impl;
+package com.gitee.sop.adminserver.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@@ -7,10 +7,10 @@ import com.alibaba.nacos.api.naming.NamingFactory;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;
import com.alibaba.nacos.api.naming.pojo.ListView;
-import com.gitee.sop.registryapi.bean.HttpTool;
-import com.gitee.sop.registryapi.bean.ServiceInfo;
-import com.gitee.sop.registryapi.bean.ServiceInstance;
-import com.gitee.sop.registryapi.service.RegistryService;
+import com.gitee.sop.adminserver.bean.HttpTool;
+import com.gitee.sop.adminserver.bean.ServiceInfo;
+import com.gitee.sop.adminserver.bean.ServiceInstance;
+import com.gitee.sop.adminserver.service.RegistryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
@@ -29,9 +29,9 @@ import java.util.Map;
* @author tanghc
*/
@Slf4j
-public class RegistryServiceNacos implements RegistryService {
+public class RegistryServiceNacosImpl implements RegistryService {
- static HttpTool httpTool = new HttpTool();
+ private static HttpTool httpTool = new HttpTool();
@Value("${nacos.discovery.server-addr:${registry.nacos-server-addr:}}")
private String nacosAddr;
@@ -40,9 +40,10 @@ public class RegistryServiceNacos implements RegistryService {
@PostConstruct
public void after() throws NacosException {
- if (StringUtils.isNotBlank(nacosAddr)) {
- namingService = NamingFactory.createNamingService(nacosAddr);
+ if (StringUtils.isBlank(nacosAddr)) {
+ throw new IllegalArgumentException("请在配置文件中指定nacos.discovery.server-addr参数");
}
+ namingService = NamingFactory.createNamingService(nacosAddr);
}
@Override
diff --git a/sop-admin/sop-admin-server/src/main/resources/application-dev.properties b/sop-admin/sop-admin-server/src/main/resources/application-dev.properties
index 0393d04e..4ce97941 100644
--- a/sop-admin/sop-admin-server/src/main/resources/application-dev.properties
+++ b/sop-admin/sop-admin-server/src/main/resources/application-dev.properties
@@ -32,9 +32,6 @@ spring.datasource.password=${mysql.password}
easyopen.show-doc=false
easyopen.ignore-validate=true
-# 固定不用改
-registry.name=nacos
-
logging.level.com.gitee=debug
# 不用改
diff --git a/sop-common/pom.xml b/sop-common/pom.xml
index 4668f704..974d3664 100644
--- a/sop-common/pom.xml
+++ b/sop-common/pom.xml
@@ -35,7 +35,6 @@
sop-gateway-common
sop-service-common
- sop-registry-api
diff --git a/sop-common/readme.md b/sop-common/readme.md
index 293c40bc..aa8b9864 100644
--- a/sop-common/readme.md
+++ b/sop-common/readme.md
@@ -1,7 +1,6 @@
# sop-common
- sop-gateway-common:提供给网关使用
-- sop-registry-api:注册中心API
- sop-service-common:提供给微服务端使用,需要打成jar
正式开发请将这些模块上传的maven私服
diff --git a/sop-common/sop-registry-api/pom.xml b/sop-common/sop-registry-api/pom.xml
deleted file mode 100644
index f4b66578..00000000
--- a/sop-common/sop-registry-api/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
- 4.0.0
- com.gitee.sop
- sop-registry-api
- 2.0.0-SNAPSHOT
-
-
- UTF-8
- UTF-8
- 1.8
- 3.11.0
-
-
-
-
- com.squareup.okhttp3
- okhttp
- ${okhttp.version}
-
-
-
-
- com.alibaba.nacos
- nacos-client
- 1.1.3
-
-
-
- org.springframework
- spring-context
- 5.1.6.RELEASE
- true
-
-
- org.projectlombok
- lombok
- 1.18.6
- true
-
-
- org.springframework.boot
- spring-boot-autoconfigure
- 2.1.4.RELEASE
- true
-
-
-
- junit
- junit
- 4.11
- test
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.1
-
- ${java.version}
- ${java.version}
- UTF-8
-
-
-
-
-
-
diff --git a/sop-common/sop-registry-api/readme.md b/sop-common/sop-registry-api/readme.md
deleted file mode 100644
index 8c55f465..00000000
--- a/sop-common/sop-registry-api/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# sop-registry-api
-
-统一各注册中心接口
\ No newline at end of file
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApplication.java b/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApplication.java
deleted file mode 100644
index 21fdcb3d..00000000
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApplication.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.gitee.sop.registryapi.bean;
-
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author tanghc
- */
-@Data
-public class EurekaApplication {
- private String name;
- private List instance;
-}
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApplications.java b/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApplications.java
deleted file mode 100644
index 7baa0fbf..00000000
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApplications.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.gitee.sop.registryapi.bean;
-
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author tanghc
- */
-@Data
-public class EurekaApplications {
- private List application;
-}
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApps.java b/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApps.java
deleted file mode 100644
index 653e7e64..00000000
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaApps.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.gitee.sop.registryapi.bean;
-
-import lombok.Data;
-
-/**
- * @author tanghc
- */
-@Data
-public class EurekaApps {
- private EurekaApplications applications;
-}
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaInstance.java b/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaInstance.java
deleted file mode 100644
index 295cdb23..00000000
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaInstance.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.gitee.sop.registryapi.bean;
-
-import lombok.Data;
-import org.springframework.util.CollectionUtils;
-
-import java.util.Map;
-
-/**
- * {
- * "instance": {
- * "instanceId": "demo-order2:11101",
- * "app": "demo-order2",
- * "appGroutName": null,
- * "ipAddr": "127.0.0.1",
- * "sid": "na",
- * "homePageUrl": null,
- * "statusPageUrl": null,
- * "healthCheckUrl": null,
- * "secureHealthCheckUrl": null,
- * "vipAddress": "demo-order2",
- * "secureVipAddress": "demo-order2",
- * "countryId": 1,
- * "dataCenterInfo": {
- * "@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo",
- * "name": "MyOwn"
- * },
- * "hostName": "127.0.0.1",
- * "status": "UP",
- * "leaseInfo": null,
- * "isCoordinatingDiscoveryServer": false,
- * "lastUpdatedTimestamp": 1529391461000,
- * "lastDirtyTimestamp": 1529391461000,
- * "actionType": null,
- * "asgName": null,
- * "overridden_status": "UNKNOWN",
- * "port": {
- * "$": 11102,
- * "@enabled": "false"
- * },
- * "securePort": {
- * "$": 7002,
- * "@enabled": "false"
- * },
- * "metadata": {
- * "@class": "java.util.Collections$EmptyMap"
- * }* }
- * }
- * @author tanghc
- */
-@Data
-public class EurekaInstance {
- private String instanceId;
- private String ipAddr;
- private Map port;
-
- private String status;
- private String statusPageUrl;
- private String healthCheckUrl;
- private String lastUpdatedTimestamp;
-
- private Map metadata;
-
- public String fetchPort() {
- if (CollectionUtils.isEmpty(port)) {
- return "";
- }
- return String.valueOf(port.getOrDefault("$", ""));
- }
-
-}
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaUri.java b/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaUri.java
deleted file mode 100644
index 2a76893e..00000000
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/bean/EurekaUri.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.gitee.sop.registryapi.bean;
-
-import okhttp3.MediaType;
-import okhttp3.Request;
-import okhttp3.RequestBody;
-import okhttp3.internal.http.HttpMethod;
-
-/**
- * https://github.com/Netflix/eureka/wiki/Eureka-REST-operations
- *
- * @author tanghc
- */
-public enum EurekaUri {
-
- /**
- * 查询所有实例 Query for all instances
- */
- QUERY_APPS("GET", "/apps"),
- /**
- * 查询一个实例
- */
- QUERY_INSTANCES("GET", "/instances/%s"),
- /**
- * 下线 Take instance out of service
- */
- OFFLINE_SERVICE("PUT", "/apps/%s/%s/status?value=OUT_OF_SERVICE"),
- /**
- * 上线 Move instance back into service (remove override)
- */
- ONLINE_SERVICE("DELETE", "/apps/%s/%s/status?value=UP"),
- /**
- * 设置metadata信息
- *
- * /apps/{appID}/{instanceID}/metadata?key=value
- */
- SET_METADATA("PUT", "/apps/%s/%s/metadata?%s=%s")
- ;
- public static final String URL_PREFIX = "/";
-
- String uri;
- String requestMethod;
-
- EurekaUri(String httpMethod, String uri) {
- if (!uri.startsWith(URL_PREFIX)) {
- uri = "/" + uri;
- }
- this.uri = uri;
- this.requestMethod = httpMethod;
- }
-
- public String getUri(String... args) {
- if (args == null || args.length == 0) {
- return uri;
- }
- Object[] param = new Object[args.length];
- for (int i = 0; i < args.length; i++) {
- param[i] = args[i];
- }
- return String.format(uri, param);
- }
-
- public Request getRequest(String url, String... args) {
- if (url.endsWith("/")) {
- url = url.substring(0, url.length() - 1);
- }
- String requestUrl = url + getUri(args);
- Request request = this.getBuilder()
- .url(requestUrl)
- .addHeader("Content-Type", "application/json")
- .addHeader("Accept", "application/json")
- .build();
- return request;
- }
-
- public Request.Builder getBuilder() {
- String method = requestMethod;
- RequestBody requestBody = null;
- if (HttpMethod.requiresRequestBody(method)) {
- MediaType contentType = MediaType.parse("application/json");
- requestBody = RequestBody.create(contentType, "{}");
- }
- return new Request.Builder().method(requestMethod, requestBody);
- }
-}
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/config/BaseRegistryConfig.java b/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/config/BaseRegistryConfig.java
deleted file mode 100644
index 047eb03d..00000000
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/config/BaseRegistryConfig.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.gitee.sop.registryapi.config;
-
-import com.gitee.sop.registryapi.service.RegistryService;
-import com.gitee.sop.registryapi.service.impl.RegistryServiceEureka;
-import com.gitee.sop.registryapi.service.impl.RegistryServiceNacos;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-
-/**
- * @author tanghc
- */
-public class BaseRegistryConfig {
-
- /**
- * 当配置了registry.name=eureka生效
- *
- * @return
- */
- @Bean
- @ConditionalOnProperty(prefix = "registry", name = "name", havingValue = "eureka")
- RegistryService registryServiceEureka() {
- return new RegistryServiceEureka();
- }
-
- /**
- * 当配置了registry.name=nacos生效
- *
- * @return
- */
- @Bean
- @ConditionalOnProperty(prefix = "registry", name = "name", havingValue = "nacos")
- RegistryService registryServiceNacos() {
- return new RegistryServiceNacos();
- }
-
-}
diff --git a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/impl/RegistryServiceEureka.java b/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/impl/RegistryServiceEureka.java
deleted file mode 100644
index 57793f3b..00000000
--- a/sop-common/sop-registry-api/src/main/java/com/gitee/sop/registryapi/service/impl/RegistryServiceEureka.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.gitee.sop.registryapi.service.impl;
-
-import com.alibaba.fastjson.JSON;
-import com.gitee.sop.registryapi.bean.EurekaApplication;
-import com.gitee.sop.registryapi.bean.EurekaApps;
-import com.gitee.sop.registryapi.bean.EurekaInstance;
-import com.gitee.sop.registryapi.bean.EurekaUri;
-import com.gitee.sop.registryapi.bean.ServiceInfo;
-import com.gitee.sop.registryapi.bean.ServiceInstance;
-import com.gitee.sop.registryapi.service.RegistryService;
-import lombok.extern.slf4j.Slf4j;
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.time.DateFormatUtils;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.util.CollectionUtils;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-/**
- * eureka接口实现
- * @author tanghc
- */
-@Slf4j
-public class RegistryServiceEureka implements RegistryService {
-
- private OkHttpClient client = new OkHttpClient();
-
- @Value("${registry.eureka-server-addr:}")
- private String eurekaUrl;
-
- @Override
- public List listAllService(int pageNo, int pageSize) throws Exception {
- if (StringUtils.isBlank(eurekaUrl)) {
- return Collections.emptyList();
- }
- String json = this.requestEurekaServer(EurekaUri.QUERY_APPS);
- EurekaApps eurekaApps = JSON.parseObject(json, EurekaApps.class);
-
- List serviceInfoList = new ArrayList<>();
- List applicationList = eurekaApps.getApplications().getApplication();
- for (EurekaApplication eurekaApplication : applicationList) {
- ServiceInfo serviceInfo = new ServiceInfo();
- serviceInfo.setServiceId(eurekaApplication.getName());
- List instanceList = eurekaApplication.getInstance();
- if (!CollectionUtils.isEmpty(instanceList)) {
- serviceInfo.setInstances(new ArrayList<>(instanceList.size()));
- for (EurekaInstance eurekaInstance : instanceList) {
- ServiceInstance serviceInstance = new ServiceInstance();
- serviceInstance.setInstanceId(eurekaInstance.getInstanceId());
- serviceInstance.setServiceId(serviceInfo.getServiceId());
- serviceInstance.setIp(eurekaInstance.getIpAddr());
- serviceInstance.setPort(Integer.valueOf(eurekaInstance.fetchPort()));
- serviceInstance.setStatus(eurekaInstance.getStatus());
- Date updateTime = new Date(Long.valueOf(eurekaInstance.getLastUpdatedTimestamp()));
- serviceInstance.setUpdateTime(DateFormatUtils.format(updateTime, TIMESTAMP_PATTERN));
- serviceInstance.setMetadata(eurekaInstance.getMetadata());
- serviceInfo.getInstances().add(serviceInstance);
- }
- }
- serviceInfoList.add(serviceInfo);
- }
- return serviceInfoList;
- }
-
-
-
- @Override
- public void onlineInstance(ServiceInstance serviceInstance) throws Exception {
- this.requestEurekaServer(EurekaUri.ONLINE_SERVICE, serviceInstance.getServiceId(), serviceInstance.getInstanceId());
- }
-
- @Override
- public void offlineInstance(ServiceInstance serviceInstance) throws Exception {
- this.requestEurekaServer(EurekaUri.OFFLINE_SERVICE, serviceInstance.getServiceId(), serviceInstance.getInstanceId());
- }
-
- @Override
- public void setMetadata(ServiceInstance serviceInstance, String key, String value) throws Exception {
- this.requestEurekaServer(EurekaUri.SET_METADATA, serviceInstance.getServiceId(), serviceInstance.getInstanceId(), key, value);
- }
-
- private String requestEurekaServer(EurekaUri eurekaUri, String... args) throws IOException {
- Request request = eurekaUri.getRequest(this.eurekaUrl, args);
- Response response = client.newCall(request).execute();
- if (response.isSuccessful()) {
- return response.body().string();
- } else {
- log.error("操作失败,url:{}, msg:{}, code:{}", eurekaUri.getUri(args), response.message(), response.code());
- throw new RuntimeException("操作失败");
- }
- }
-
-}