From 7cc5a13260e7e50ebf47413cb66f5fa09561b77b Mon Sep 17 00:00:00 2001 From: flystar32 Date: Thu, 28 Mar 2019 19:53:09 +0800 Subject: [PATCH] merge endpoint and endpoint configuration --- .../alibaba/nacos/NacosConfigProperties.java | 42 +++++++--------- .../nacos/NacosConfigurationTests.java | 8 ---- .../nacos/NacosDiscoveryProperties.java | 48 ++++++++----------- ...NacosDiscoveryClientAutoConfiguration.java | 1 - .../NacosAutoServiceRegistrationTests.java | 8 ---- 5 files changed, 35 insertions(+), 72 deletions(-) diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/NacosConfigProperties.java b/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/NacosConfigProperties.java index eb57ad4e..01b95d5d 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/NacosConfigProperties.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/NacosConfigProperties.java @@ -21,12 +21,8 @@ import com.alibaba.nacos.api.config.ConfigService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.core.env.Environment; -import javax.annotation.PostConstruct; -import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.Properties; @@ -91,12 +87,6 @@ public class NacosConfigProperties { */ private String endpoint; - /** - * endpoint port for Nacos, the domain port of a service, through which the server - * address can be dynamically obtained. - */ - private String endpointPort; - /** * namespace, separation configuration of different environments. */ @@ -272,14 +262,6 @@ public class NacosConfigProperties { this.name = name; } - public String getEndpointPort() { - return endpointPort; - } - - public void setEndpointPort(String endpointPort) { - this.endpointPort = endpointPort; - } - public static class Config { /** * the data id of extended configuration @@ -325,12 +307,11 @@ public class NacosConfigProperties { + ", encode='" + encode + '\'' + ", group='" + group + '\'' + ", prefix='" + prefix + '\'' + ", fileExtension='" + fileExtension + '\'' + ", timeout=" + timeout + ", endpoint='" + endpoint + '\'' - + ", endpointPort='" + endpointPort + '\'' + ", namespace='" + namespace - + '\'' + ", accessKey='" + accessKey + '\'' + ", secretKey='" + secretKey - + '\'' + ", contextPath='" + contextPath + '\'' + ", clusterName='" - + clusterName + '\'' + ", name='" + name + '\'' + ", sharedDataids='" - + sharedDataids + '\'' + ", refreshableDataids='" + refreshableDataids - + '\'' + ", extConfig=" + extConfig + '}'; + + ", namespace='" + namespace + '\'' + ", accessKey='" + accessKey + '\'' + + ", secretKey='" + secretKey + '\'' + ", contextPath='" + contextPath + + '\'' + ", clusterName='" + clusterName + '\'' + ", name='" + name + '\'' + + ", sharedDataids='" + sharedDataids + '\'' + ", refreshableDataids='" + + refreshableDataids + '\'' + ", extConfig=" + extConfig + '}'; } public ConfigService configServiceInstance() { @@ -347,8 +328,17 @@ public class NacosConfigProperties { properties.put(SECRET_KEY, Objects.toString(this.secretKey, "")); properties.put(CONTEXT_PATH, Objects.toString(this.contextPath, "")); properties.put(CLUSTER_NAME, Objects.toString(this.clusterName, "")); - properties.put(ENDPOINT, Objects.toString(this.endpoint, "")); - properties.put(ENDPOINT_PORT, Objects.toString(this.endpointPort, "")); + + String endpoint = Objects.toString(this.endpoint, ""); + if (endpoint.contains(":")) { + int index = endpoint.indexOf(":"); + properties.put(ENDPOINT, endpoint.substring(0, index)); + properties.put(ENDPOINT_PORT, endpoint.substring(index + 1)); + } + else { + properties.put(ENDPOINT, endpoint); + } + try { configService = NacosFactory.createConfigService(properties); return configService; diff --git a/spring-cloud-alibaba-nacos-config/src/test/java/org/springframework/cloud/alibaba/nacos/NacosConfigurationTests.java b/spring-cloud-alibaba-nacos-config/src/test/java/org/springframework/cloud/alibaba/nacos/NacosConfigurationTests.java index 1cc122aa..fc2a3b12 100644 --- a/spring-cloud-alibaba-nacos-config/src/test/java/org/springframework/cloud/alibaba/nacos/NacosConfigurationTests.java +++ b/spring-cloud-alibaba-nacos-config/src/test/java/org/springframework/cloud/alibaba/nacos/NacosConfigurationTests.java @@ -60,7 +60,6 @@ import org.springframework.test.context.junit4.SpringRunner; "spring.application.name=myTestService1", "spring.profiles.active=dev,test", "spring.cloud.nacos.config.server-addr=127.0.0.1:8848", "spring.cloud.nacos.config.endpoint=test-endpoint", - "spring.cloud.nacos.config.endpoint-port=8081", "spring.cloud.nacos.config.namespace=test-namespace", "spring.cloud.nacos.config.encode=utf-8", "spring.cloud.nacos.config.timeout=1000", @@ -154,7 +153,6 @@ public class NacosConfigurationTests { checkoutNacosConfigServerAddr(); checkoutNacosConfigEndpoint(); - checkoutNacosConfigEndpointPort(); checkoutNacosConfigNamespace(); checkoutNacosConfigClusterName(); checkoutNacosConfigAccessKey(); @@ -183,12 +181,6 @@ public class NacosConfigurationTests { } - private void checkoutNacosConfigEndpointPort() { - assertEquals("NacosConfigProperties endpoint port is wrong", "8081", - properties.getEndpointPort()); - - } - private void checkoutNacosConfigNamespace() { assertEquals("NacosConfigProperties namespace is wrong", "test-namespace", properties.getNamespace()); diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java index cce0a7fc..05ec95c3 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java @@ -59,12 +59,6 @@ public class NacosDiscoveryProperties { */ private String endpoint; - /** - * the domain port of a service, through which the server address can be dynamically - * obtained. - */ - private String endpointPort; - /** * namespace, separation registry of different environments. */ @@ -341,26 +335,18 @@ public class NacosDiscoveryProperties { this.watchDelay = watchDelay; } - public String getEndpointPort() { - return endpointPort; - } - - public void setEndpointPort(String endpointPort) { - this.endpointPort = endpointPort; - } - @Override public String toString() { return "NacosDiscoveryProperties{" + "serverAddr='" + serverAddr + '\'' - + ", endpoint='" + endpoint + '\'' + ", endpointPort='" + endpointPort - + '\'' + ", namespace='" + namespace + '\'' + ", watchDelay=" + watchDelay - + ", logName='" + logName + '\'' + ", service='" + service + '\'' - + ", weight=" + weight + ", clusterName='" + clusterName + '\'' - + ", namingLoadCacheAtStart='" + namingLoadCacheAtStart + '\'' - + ", metadata=" + metadata + ", registerEnabled=" + registerEnabled - + ", ip='" + ip + '\'' + ", networkInterface='" + networkInterface + '\'' - + ", port=" + port + ", secure=" + secure + ", accessKey='" + accessKey - + '\'' + ", secretKey='" + secretKey + '\'' + '}'; + + ", endpoint='" + endpoint + '\'' + ", namespace='" + namespace + '\'' + + ", watchDelay=" + watchDelay + ", logName='" + logName + '\'' + + ", service='" + service + '\'' + ", weight=" + weight + + ", clusterName='" + clusterName + '\'' + ", namingLoadCacheAtStart='" + + namingLoadCacheAtStart + '\'' + ", metadata=" + metadata + + ", registerEnabled=" + registerEnabled + ", ip='" + ip + '\'' + + ", networkInterface='" + networkInterface + '\'' + ", port=" + port + + ", secure=" + secure + ", accessKey='" + accessKey + '\'' + + ", secretKey='" + secretKey + '\'' + '}'; } public void overrideFromEnv(Environment env) { @@ -393,10 +379,6 @@ public class NacosDiscoveryProperties { this.setEndpoint( env.resolvePlaceholders("${spring.cloud.nacos.discovery.endpoint:}")); } - if (StringUtils.isEmpty(this.getEndpointPort())) { - this.setEndpointPort(env.resolvePlaceholders( - "${spring.cloud.nacos.discovery.endpoint-port:}")); - } } public NamingService namingServiceInstance() { @@ -409,8 +391,16 @@ public class NacosDiscoveryProperties { properties.put(SERVER_ADDR, serverAddr); properties.put(NAMESPACE, namespace); properties.put(UtilAndComs.NACOS_NAMING_LOG_NAME, logName); - properties.put(ENDPOINT, endpoint); - properties.put(ENDPOINT_PORT, endpointPort); + + if (endpoint.contains(":")) { + int index = endpoint.indexOf(":"); + properties.put(ENDPOINT, endpoint.substring(0, index)); + properties.put(ENDPOINT_PORT, endpoint.substring(index + 1)); + } + else { + properties.put(ENDPOINT, endpoint); + } + properties.put(ACCESS_KEY, accessKey); properties.put(SECRET_KEY, secretKey); properties.put(CLUSTER_NAME, clusterName); diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java index 96e559e4..2ddb4c34 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java @@ -19,7 +19,6 @@ package org.springframework.cloud.alibaba.nacos.discovery; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.alibaba.nacos.ConditionalOnNacosDiscoveryEnabled; import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties; diff --git a/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/registry/NacosAutoServiceRegistrationTests.java b/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/registry/NacosAutoServiceRegistrationTests.java index 0ed50131..acd2cbb3 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/registry/NacosAutoServiceRegistrationTests.java +++ b/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/registry/NacosAutoServiceRegistrationTests.java @@ -48,7 +48,6 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen "spring.application.name=myTestService1", "spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848", "spring.cloud.nacos.discovery.endpoint=test-endpoint", - "spring.cloud.nacos.discovery.endpoint-port=8081", "spring.cloud.nacos.discovery.namespace=test-namespace", "spring.cloud.nacos.discovery.log-name=test-logName", "spring.cloud.nacos.discovery.weight=2", @@ -84,7 +83,6 @@ public class NacosAutoServiceRegistrationTests { checkoutNacosDiscoveryServerAddr(); checkoutNacosDiscoveryEndpoint(); - checkoutNacosDiscoveryEndpointPort(); checkoutNacosDiscoveryNamespace(); checkoutNacosDiscoveryLogName(); checkoutNacosDiscoveryWeight(); @@ -121,12 +119,6 @@ public class NacosAutoServiceRegistrationTests { } - private void checkoutNacosDiscoveryEndpointPort() { - assertEquals("NacosDiscoveryProperties endpoint port was wrong", "8081", - properties.getEndpointPort()); - - } - private void checkoutNacosDiscoveryNamespace() { assertEquals("NacosDiscoveryProperties namespace was wrong", "test-namespace", properties.getNamespace());