From 7808ebb62e92246940e25e987e58eac2364e175e Mon Sep 17 00:00:00 2001
From: Fishtail <49390359+fuyuwei01@users.noreply.github.com>
Date: Tue, 2 Sep 2025 11:37:35 +0800
Subject: [PATCH] feat: support service registry and discovery with Polaris and
Nacos (#1724)
---
CHANGELOG.md | 3 +-
.../pom.xml | 7 --
.../discovery/PolarisServiceDiscovery.java | 2 -
.../extend/nacos/NacosConfigModifier.java | 60 ++++------
.../extend/nacos/NacosContextProperties.java | 80 ++++++++-----
.../polaris/registry/PolarisRegistration.java | 33 +-----
...cosDiscoveryRegistryAutoConfiguration.java | 37 ++++++
.../NacosPolarisRegistrationCustomizer.java | 54 +++++++++
...itional-spring-configuration-metadata.json | 20 +++-
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../nacos/NacosContextPropertiesTest.java | 19 ++-
...acosPolarisRegistrationCustomizerTest.java | 81 +++++++++++++
.../PolarisRegistrationCustomizerTest.java | 2 +-
.../registry/PolarisRegistrationTest.java | 24 +---
.../polaris/router/RouterConfigModifier.java | 1 -
.../MetadataRouterRequestInterceptor.java | 1 -
...itional-spring-configuration-metadata.json | 6 +
.../common/metadata/MetadataContext.java | 3 -
.../cloud/common/util/DiscoveryUtil.java | 108 ------------------
spring-cloud-tencent-dependencies/pom.xml | 6 -
20 files changed, 287 insertions(+), 261 deletions(-)
create mode 100644 spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/nacos/NacosDiscoveryRegistryAutoConfiguration.java
create mode 100644 spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/nacos/NacosPolarisRegistrationCustomizer.java
create mode 100644 spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/NacosPolarisRegistrationCustomizerTest.java
delete mode 100644 spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/DiscoveryUtil.java
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7a7d3f9dd..98cf88c46 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,4 +24,5 @@
- [feat: support config ratelimit addresses and remote task interval.](https://github.com/Tencent/spring-cloud-tencent/pull/1695)
- [docs:optimize tsf example.](https://github.com/Tencent/spring-cloud-tencent/pull/1711)
- [feat:support TSF certificate manager.](https://github.com/Tencent/spring-cloud-tencent/pull/1716)
-- [feat:support tsf unit.](https://github.com/Tencent/spring-cloud-tencent/pull/1722)
\ No newline at end of file
+- [feat:support tsf unit.](https://github.com/Tencent/spring-cloud-tencent/pull/1722)
+- [feat: support service registry and discovery with Polaris and Nacos](https://github.com/Tencent/spring-cloud-tencent/pull/1724)
diff --git a/spring-cloud-starter-tencent-polaris-discovery/pom.xml b/spring-cloud-starter-tencent-polaris-discovery/pom.xml
index 598d23b42..67bdae3ea 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/pom.xml
+++ b/spring-cloud-starter-tencent-polaris-discovery/pom.xml
@@ -26,13 +26,6 @@
-
-
- com.tencent.polaris
- connector-nacos
- test
-
-
org.springframework.cloud
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscovery.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscovery.java
index 0e4536293..8a8249a82 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscovery.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscovery.java
@@ -23,7 +23,6 @@ import java.util.List;
import java.util.stream.Collectors;
import com.tencent.cloud.common.pojo.PolarisServiceInstance;
-import com.tencent.cloud.common.util.DiscoveryUtil;
import com.tencent.polaris.api.exception.PolarisException;
import com.tencent.polaris.api.pojo.Instance;
import com.tencent.polaris.api.pojo.ServiceInfo;
@@ -51,7 +50,6 @@ public class PolarisServiceDiscovery {
* @throws PolarisException polarisException
*/
public List getInstances(String serviceId) throws PolarisException {
- serviceId = DiscoveryUtil.rewriteServiceId(serviceId);
List instances = new ArrayList<>();
InstancesResponse filteredInstances = polarisDiscoveryHandler.getHealthyInstances(serviceId);
ServiceInstances serviceInstances = filteredInstances.toServiceInstances();
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/nacos/NacosConfigModifier.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/nacos/NacosConfigModifier.java
index f4958024a..e29bb7560 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/nacos/NacosConfigModifier.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/nacos/NacosConfigModifier.java
@@ -34,6 +34,15 @@ import com.tencent.polaris.factory.config.provider.RegisterConfigImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_CLUSTER_KEY;
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_EPHEMERAL_KEY;
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_GROUP_KEY;
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_SERVICE_KEY;
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_WEIGHT_KEY;
+import static shade.polaris.com.alibaba.nacos.api.PropertyKeyConst.CONTEXT_PATH;
+import static shade.polaris.com.alibaba.nacos.api.PropertyKeyConst.NAMESPACE;
+import static shade.polaris.com.alibaba.nacos.api.PropertyKeyConst.PASSWORD;
+import static shade.polaris.com.alibaba.nacos.api.PropertyKeyConst.USERNAME;
/**
* {@link PolarisConfigModifier} impl of Nacos.
@@ -42,26 +51,7 @@ import org.slf4j.LoggerFactory;
*/
public class NacosConfigModifier implements PolarisConfigModifier {
- /**
- * nacos username.
- */
- public static final String USERNAME = "username";
- /**
- * nacos password.
- */
- public static final String PASSWORD = "password";
- /**
- * nacos contextPath.
- */
- public static final String CONTEXT_PATH = "contextPath";
- /**
- * nacos namespace.
- */
- public static final String NAMESPACE = "namespace";
- /**
- * nacos group.
- */
- public static final String GROUP = "group";
+
private static final Logger LOGGER = LoggerFactory.getLogger(NacosConfigModifier.class);
private static final String ID = "nacos";
private final NacosContextProperties nacosContextProperties;
@@ -72,26 +62,9 @@ public class NacosConfigModifier implements PolarisConfigModifier {
@Override
public void modify(ConfigurationImpl configuration) {
- if (Objects.isNull(nacosContextProperties) || !nacosContextProperties.isEnabled()) {
+ if (Objects.isNull(nacosContextProperties) || !nacosContextProperties.isDiscoveryEnabled()) {
return;
}
- // Check if Nacos Available
- boolean nacosAvailable = false;
- try {
- nacosAvailable = null != Class.forName("com.alibaba.nacos.api.naming.NamingService");
- }
- catch (Throwable ignored) {
-
- }
- if (!nacosAvailable) {
- LOGGER.error("Please import \"connector-nacos\" dependency when enabling nacos service registration and discovery.\n"
- + "Add dependency configuration below to pom.xml:\n"
- + "\n"
- + "\tcom.tencent.polaris\n"
- + "\tconnector-nacos\n"
- + "");
- throw new RuntimeException("Dependency \"connector-nacos\" not found.");
- }
if (CollectionUtils.isEmpty(configuration.getGlobal().getServerConnectors())) {
configuration.getGlobal().setServerConnectors(new ArrayList<>());
}
@@ -127,9 +100,16 @@ public class NacosConfigModifier implements PolarisConfigModifier {
}
if (StringUtils.isNotBlank(nacosContextProperties.getGroup())) {
- metadata.put(GROUP, nacosContextProperties.getGroup());
+ metadata.put(NACOS_GROUP_KEY, nacosContextProperties.getGroup());
}
-
+ if (StringUtils.isNotBlank(nacosContextProperties.getClusterName())) {
+ metadata.put(NACOS_CLUSTER_KEY, nacosContextProperties.getClusterName());
+ }
+ if (StringUtils.isNotBlank(nacosContextProperties.getServiceName())) {
+ metadata.put(NACOS_SERVICE_KEY, nacosContextProperties.getServiceName());
+ }
+ metadata.put(NACOS_EPHEMERAL_KEY, String.valueOf(nacosContextProperties.isEphemeral()));
+ metadata.put(NACOS_WEIGHT_KEY, String.valueOf(nacosContextProperties.getWeight()));
configuration.getGlobal().getServerConnectors().add(serverConnectorConfig);
DiscoveryConfigImpl discoveryConfig = new DiscoveryConfigImpl();
discoveryConfig.setServerConnectorId(ID);
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/nacos/NacosContextProperties.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/nacos/NacosContextProperties.java
index da45f8df2..7986f6550 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/nacos/NacosContextProperties.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/nacos/NacosContextProperties.java
@@ -20,6 +20,10 @@ package com.tencent.cloud.polaris.extend.nacos;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
+import static shade.polaris.com.alibaba.nacos.api.common.Constants.DEFAULT_CLUSTER_NAME;
+import static shade.polaris.com.alibaba.nacos.api.common.Constants.DEFAULT_GROUP;
+import static shade.polaris.com.alibaba.nacos.api.common.Constants.DEFAULT_NAMESPACE_ID;
+
/**
* Discovery configuration of Nacos.
*
@@ -28,24 +32,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties("spring.cloud.nacos")
public class NacosContextProperties {
- /**
- * Nacos default group name.
- */
- public static final String DEFAULT_GROUP = "DEFAULT_GROUP";
-
- /**
- * Nacos default cluster name.
- */
- public static final String DEFAULT_CLUSTER = "DEFAULT";
-
- /**
- * Nacos default namespace name.
- */
- public static final String DEFAULT_NAMESPACE = "public";
-
- private boolean enabled = false;
-
- @Value("${spring.cloud.nacos.discovery.enabled:#{'true'}}")
+ @Value("${spring.cloud.nacos.discovery.enabled:#{'false'}}")
private boolean discoveryEnabled;
/**
@@ -60,6 +47,11 @@ public class NacosContextProperties {
*/
@Value("${spring.cloud.nacos.discovery.server-addr:}")
private String serverAddr;
+ /**
+ * nacos discovery server address.
+ */
+ @Value("${spring.cloud.nacos.discovery.ephemeral:true}")
+ private boolean ephemeral;
/**
* the nacos authentication username.
@@ -67,6 +59,13 @@ public class NacosContextProperties {
@Value("${spring.cloud.nacos.discovery.username:}")
private String username;
+
+ /**
+ * service name to registry.
+ */
+ @Value("${spring.cloud.nacos.discovery.service:${spring.application.name:}}")
+ private String serviceName;
+
/**
* the nacos authentication password.
*/
@@ -77,7 +76,7 @@ public class NacosContextProperties {
* cluster name for nacos .
*/
@Value("${spring.cloud.nacos.discovery.cluster-name:DEFAULT}")
- private String clusterName = DEFAULT_CLUSTER;
+ private String clusterName = DEFAULT_CLUSTER_NAME;
/**
* group name for nacos.
@@ -86,17 +85,13 @@ public class NacosContextProperties {
private String group = DEFAULT_GROUP;
@Value("${spring.cloud.nacos.discovery.namespace:public}")
- private String namespace = DEFAULT_NAMESPACE;
+ private String namespace = DEFAULT_NAMESPACE_ID;
+
+ @Value("${spring.cloud.nacos.discovery.weight:1.0}")
+ private double weight = 1.0;
private String contextPath;
- public boolean isEnabled() {
- return enabled;
- }
-
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
public boolean isRegisterEnabled() {
return registerEnabled;
@@ -170,19 +165,44 @@ public class NacosContextProperties {
this.namespace = namespace;
}
+ public boolean isEphemeral() {
+ return ephemeral;
+ }
+
+ public void setEphemeral(boolean ephemeral) {
+ this.ephemeral = ephemeral;
+ }
+ String getServiceName() {
+ return serviceName;
+ }
+
+ void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
+
+ double getWeight() {
+ return weight;
+ }
+
+ void setWeight(double weight) {
+ this.weight = weight;
+ }
+
@Override
public String toString() {
return "NacosContextProperties{" +
- "enabled=" + enabled +
- ", discoveryEnabled=" + discoveryEnabled +
+ "discoveryEnabled=" + discoveryEnabled +
", registerEnabled=" + registerEnabled +
", serverAddr='" + serverAddr + '\'' +
+ ", ephemeral=" + ephemeral +
", username='" + username + '\'' +
+ ", serviceName='" + serviceName + '\'' +
", password='" + password + '\'' +
", clusterName='" + clusterName + '\'' +
", group='" + group + '\'' +
- ", contextPath='" + contextPath + '\'' +
", namespace='" + namespace + '\'' +
+ ", weight=" + weight +
+ ", contextPath='" + contextPath + '\'' +
'}';
}
}
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java
index 1edd6ab42..1506bc018 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java
@@ -21,7 +21,6 @@ import java.net.URI;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import com.tencent.cloud.common.metadata.StaticMetadataManager;
import com.tencent.cloud.polaris.PolarisDiscoveryProperties;
@@ -37,10 +36,6 @@ import org.springframework.boot.web.servlet.context.ServletWebServerApplicationC
import org.springframework.cloud.client.DefaultServiceInstance;
import org.springframework.cloud.client.serviceregistry.Registration;
import org.springframework.lang.Nullable;
-
-import static com.tencent.cloud.polaris.extend.nacos.NacosContextProperties.DEFAULT_CLUSTER;
-import static com.tencent.cloud.polaris.extend.nacos.NacosContextProperties.DEFAULT_GROUP;
-
/**
* Registration object of Polaris.
*
@@ -48,9 +43,6 @@ import static com.tencent.cloud.polaris.extend.nacos.NacosContextProperties.DEFA
*/
public class PolarisRegistration implements Registration {
- private static final String GROUP_SERVER_ID_FORMAT = "%s__%s";
- private static final String NACOS_CLUSTER = "nacos.cluster";
-
private final PolarisDiscoveryProperties polarisDiscoveryProperties;
private final SDKContext polarisContext;
@@ -83,20 +75,8 @@ public class PolarisRegistration implements Registration {
this.servletWebServerApplicationContext = servletWebServerApplicationContext;
this.reactiveWebServerApplicationContext = reactiveWebServerApplicationContext;
this.customizers = registrationCustomizers;
+ this.serviceId = polarisDiscoveryProperties.getService();
- // generate serviceId
- if (Objects.isNull(nacosContextProperties)) {
- serviceId = polarisDiscoveryProperties.getService();
- }
- else {
- String group = nacosContextProperties.getGroup();
- if (StringUtils.isNotBlank(group) && !DEFAULT_GROUP.equals(group)) {
- serviceId = String.format(GROUP_SERVER_ID_FORMAT, group, polarisDiscoveryProperties.getService());
- }
- else {
- serviceId = polarisDiscoveryProperties.getService();
- }
- }
// generate host
host = polarisContext.getConfig().getGlobal().getAPI().getBindIP();
@@ -112,15 +92,6 @@ public class PolarisRegistration implements Registration {
// generate metadata
if (CollectionUtils.isEmpty(metadata)) {
Map instanceMetadata = new HashMap<>();
-
- // put internal-nacos-cluster if necessary
- if (Objects.nonNull(nacosContextProperties)) {
- String clusterName = nacosContextProperties.getClusterName();
- if (StringUtils.isNotBlank(clusterName) && !DEFAULT_CLUSTER.equals(clusterName)) {
- instanceMetadata.put(NACOS_CLUSTER, clusterName);
- }
- }
-
instanceMetadata.putAll(staticMetadataManager.getMergedStaticMetadata());
this.metadata = instanceMetadata;
@@ -135,7 +106,7 @@ public class PolarisRegistration implements Registration {
if (null != consulDiscoveryProperties) {
registerEnabled |= consulDiscoveryProperties.isRegister();
}
- if (null != nacosContextProperties && nacosContextProperties.isEnabled()) {
+ if (null != nacosContextProperties && nacosContextProperties.isDiscoveryEnabled()) {
registerEnabled |= nacosContextProperties.isRegisterEnabled();
}
}
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/nacos/NacosDiscoveryRegistryAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/nacos/NacosDiscoveryRegistryAutoConfiguration.java
new file mode 100644
index 000000000..d0ced7481
--- /dev/null
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/nacos/NacosDiscoveryRegistryAutoConfiguration.java
@@ -0,0 +1,37 @@
+/*
+ * Tencent is pleased to support the open source community by making spring-cloud-tencent available.
+ *
+ * Copyright (C) 2021 Tencent. All rights reserved.
+ *
+ * Licensed under the BSD 3-Clause License (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://opensource.org/licenses/BSD-3-Clause
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed
+ * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.tencent.cloud.polaris.registry.nacos;
+
+import com.tencent.cloud.polaris.extend.nacos.NacosContextProperties;
+import com.tencent.cloud.polaris.registry.PolarisServiceRegistryAutoConfiguration;
+
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration(proxyBeanMethods = false)
+@AutoConfigureBefore(PolarisServiceRegistryAutoConfiguration.class)
+public class NacosDiscoveryRegistryAutoConfiguration {
+ @Bean
+ @ConditionalOnMissingBean
+ public NacosPolarisRegistrationCustomizer nacosPolarisRegistrationCustomizer(
+ NacosContextProperties nacosContextProperties) {
+ return new NacosPolarisRegistrationCustomizer(nacosContextProperties);
+ }
+}
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/nacos/NacosPolarisRegistrationCustomizer.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/nacos/NacosPolarisRegistrationCustomizer.java
new file mode 100644
index 000000000..f5118a301
--- /dev/null
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/nacos/NacosPolarisRegistrationCustomizer.java
@@ -0,0 +1,54 @@
+/*
+ * Tencent is pleased to support the open source community by making spring-cloud-tencent available.
+ *
+ * Copyright (C) 2021 Tencent. All rights reserved.
+ *
+ * Licensed under the BSD 3-Clause License (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://opensource.org/licenses/BSD-3-Clause
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed
+ * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.tencent.cloud.polaris.registry.nacos;
+
+import java.util.Map;
+import java.util.Objects;
+
+import com.tencent.cloud.polaris.extend.nacos.NacosContextProperties;
+import com.tencent.cloud.polaris.registry.PolarisRegistration;
+import com.tencent.cloud.polaris.registry.PolarisRegistrationCustomizer;
+import com.tencent.polaris.api.utils.StringUtils;
+
+
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_CLUSTER_KEY;
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_GROUP_KEY;
+import static shade.polaris.com.alibaba.nacos.api.common.Constants.DEFAULT_CLUSTER_NAME;
+import static shade.polaris.com.alibaba.nacos.api.common.Constants.DEFAULT_GROUP;
+
+public class NacosPolarisRegistrationCustomizer implements PolarisRegistrationCustomizer {
+ NacosContextProperties nacosContextProperties;
+ public NacosPolarisRegistrationCustomizer(NacosContextProperties nacosContextProperties) {
+ this.nacosContextProperties = nacosContextProperties;
+ }
+ @Override
+ public void customize(PolarisRegistration registration) {
+ // put internal-nacos-cluster if necessary
+ Map instanceMetadata = registration.getMetadata();
+ if (Objects.nonNull(nacosContextProperties)) {
+ String clusterName = nacosContextProperties.getClusterName();
+ if (StringUtils.isNotBlank(clusterName) && !DEFAULT_CLUSTER_NAME.equals(clusterName)) {
+ instanceMetadata.put(NACOS_CLUSTER_KEY, clusterName);
+ }
+ String groupName = nacosContextProperties.getGroup();
+ if (StringUtils.isNotBlank(groupName) && !DEFAULT_GROUP.equals(groupName)) {
+ instanceMetadata.put(NACOS_GROUP_KEY, groupName);
+ }
+ }
+ }
+}
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json
index 5f3416f97..d28d2ce73 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -114,6 +114,18 @@
"sourceType": "com.tencent.cloud.polaris.extend.nacos.NacosContextProperties",
"defaultValue": false
},
+ {
+ "name": "spring.cloud.nacos.discovery.ephemeral",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.tencent.cloud.polaris.extend.nacos.NacosContextProperties",
+ "defaultValue": true
+ },
+ {
+ "name": "spring.cloud.nacos.discovery.weight",
+ "type": "java.lang.Double",
+ "sourceType": "com.tencent.cloud.polaris.extend.nacos.NacosContextProperties",
+ "defaultValue": 1.0
+ },
{
"name": "spring.cloud.nacos.discovery.group",
"type": "java.lang.String",
@@ -134,6 +146,12 @@
"description": "the nacos authentication password.",
"sourceType": "com.tencent.cloud.polaris.extend.nacos.NacosContextProperties"
},
+ {
+ "name": "spring.cloud.nacos.discovery.service",
+ "type": "java.lang.String",
+ "defaultValue": "${spring.application.name}",
+ "description": "the service name to register, default value is ${spring.application.name}."
+ },
{
"name": "spring.cloud.nacos.discovery.register-enabled",
"type": "java.lang.Boolean",
@@ -180,7 +198,7 @@
],
"hints": [
{
- "name": "spring.cloud.loadbalancer.strategy",
+ "name": "spring.cloud.loadbalancer.strategies",
"values": [
{
"value": "polarisWeightedRoundRobin",
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index d252469f9..53390a7dd 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -6,3 +6,4 @@ com.tencent.cloud.polaris.loadbalancer.PolarisLoadBalancerAutoConfiguration
com.tencent.cloud.polaris.loadbalancer.PolarisLoadBalancerPropertiesAutoConfiguration
com.tencent.cloud.polaris.registry.tsf.TsfDiscoveryRegistryAutoConfiguration
com.tencent.cloud.polaris.eager.config.PolarisEagerLoadAutoConfiguration
+com.tencent.cloud.polaris.registry.nacos.NacosDiscoveryRegistryAutoConfiguration
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/nacos/NacosContextPropertiesTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/nacos/NacosContextPropertiesTest.java
index 3902f833c..f4cd2a160 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/nacos/NacosContextPropertiesTest.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/nacos/NacosContextPropertiesTest.java
@@ -34,7 +34,14 @@ import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.util.CollectionUtils;
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_CLUSTER_KEY;
+import static com.tencent.polaris.plugins.connector.common.constant.NacosConstant.MetadataMapKey.NACOS_GROUP_KEY;
import static org.assertj.core.api.Assertions.assertThat;
+import static shade.polaris.com.alibaba.nacos.api.PropertyKeyConst.CONTEXT_PATH;
+import static shade.polaris.com.alibaba.nacos.api.PropertyKeyConst.NAMESPACE;
+import static shade.polaris.com.alibaba.nacos.api.PropertyKeyConst.PASSWORD;
+import static shade.polaris.com.alibaba.nacos.api.PropertyKeyConst.USERNAME;
+
/**
* Test for {@link NacosContextProperties}.
@@ -55,7 +62,6 @@ public class NacosContextPropertiesTest {
@Test
public void testDefaultInitialization() {
assertThat(nacosContextProperties).isNotNull();
- assertThat(nacosContextProperties.isEnabled()).isTrue();
assertThat(nacosContextProperties.getServerAddr()).isEqualTo("127.0.0.1:8848");
assertThat(nacosContextProperties.isRegisterEnabled()).isTrue();
assertThat(nacosContextProperties.isDiscoveryEnabled()).isTrue();
@@ -82,11 +88,12 @@ public class NacosContextPropertiesTest {
assertThat(DefaultPlugins.SERVER_CONNECTOR_NACOS.equals(serverConnectorConfig.getProtocol())).isTrue();
Map metadata = serverConnectorConfig.getMetadata();
- assertThat(metadata.get(NacosConfigModifier.USERNAME)).isEqualTo(nacosContextProperties.getUsername());
- assertThat(metadata.get(NacosConfigModifier.PASSWORD)).isEqualTo(nacosContextProperties.getPassword());
- assertThat(metadata.get(NacosConfigModifier.CONTEXT_PATH)).isEqualTo(nacosContextProperties.getContextPath());
- assertThat(metadata.get(NacosConfigModifier.NAMESPACE)).isEqualTo(nacosContextProperties.getNamespace());
- assertThat(metadata.get(NacosConfigModifier.GROUP)).isEqualTo(nacosContextProperties.getGroup());
+ assertThat(metadata.get(USERNAME)).isEqualTo(nacosContextProperties.getUsername());
+ assertThat(metadata.get(PASSWORD)).isEqualTo(nacosContextProperties.getPassword());
+ assertThat(metadata.get(CONTEXT_PATH)).isEqualTo(nacosContextProperties.getContextPath());
+ assertThat(metadata.get(NAMESPACE)).isEqualTo(nacosContextProperties.getNamespace());
+ assertThat(metadata.get(NACOS_GROUP_KEY)).isEqualTo(nacosContextProperties.getGroup());
+ assertThat(metadata.get(NACOS_CLUSTER_KEY)).isEqualTo(nacosContextProperties.getClusterName());
}
@SpringBootApplication
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/NacosPolarisRegistrationCustomizerTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/NacosPolarisRegistrationCustomizerTest.java
new file mode 100644
index 000000000..38291f5f5
--- /dev/null
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/NacosPolarisRegistrationCustomizerTest.java
@@ -0,0 +1,81 @@
+/*
+ * Tencent is pleased to support the open source community by making spring-cloud-tencent available.
+ *
+ * Copyright (C) 2021 Tencent. All rights reserved.
+ *
+ * Licensed under the BSD 3-Clause License (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://opensource.org/licenses/BSD-3-Clause
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed
+ * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.tencent.cloud.polaris.registry;
+
+import java.util.Map;
+
+import com.tencent.cloud.polaris.context.PolarisSDKContextManager;
+import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration;
+import com.tencent.cloud.polaris.discovery.PolarisDiscoveryClientConfiguration;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import org.springframework.boot.autoconfigure.AutoConfigurations;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import static com.tencent.polaris.test.common.Consts.PORT;
+import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+
+/**
+ * Test for {@link NacosPolarisRegistrationCustomizerTest}.
+ *
+ * @author Yuwei Fu
+ */
+public class NacosPolarisRegistrationCustomizerTest {
+
+ private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner()
+ .withConfiguration(AutoConfigurations.of(
+ PolarisContextAutoConfiguration.class,
+ PolarisServiceRegistryAutoConfiguration.class,
+ PolarisDiscoveryClientConfiguration.class))
+ .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER)
+ .withPropertyValues("server.port=" + PORT)
+ .withPropertyValues("spring.cloud.nacos.discovery.cluster-name=nacos")
+ .withPropertyValues("spring.cloud.nacos.discovery.group=nacos")
+ .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081");
+
+ @BeforeEach
+ public void setUp() {
+ PolarisSDKContextManager.innerDestroy();
+ }
+
+ @Test
+ public void testCustomize() {
+ this.contextRunner.run(context -> {
+ PolarisRegistration polarisRegistration = context.getBean(PolarisRegistration.class);
+ polarisRegistration.customize();
+ Map metadata = polarisRegistration.getMetadata();
+ assertThat(metadata.get("nacos.cluster")).isEqualTo("nacos");
+ assertThat(metadata.get("nacos.group")).isEqualTo("nacos");
+ });
+ }
+
+ @Configuration
+ @EnableAutoConfiguration
+ static class PolarisServiceRegistryAutoConfiguration {
+ @Bean
+ public PolarisRegistrationCustomizer polarisRegistrationCustomizer() {
+ return mock(PolarisRegistrationCustomizer.class);
+ }
+ }
+}
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationCustomizerTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationCustomizerTest.java
index 7b2b43116..e9a7c673c 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationCustomizerTest.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationCustomizerTest.java
@@ -62,7 +62,7 @@ public class PolarisRegistrationCustomizerTest {
this.contextRunner.run(context -> {
PolarisRegistration polarisRegistration = context.getBean(PolarisRegistration.class);
polarisRegistration.customize();
- PolarisRegistrationCustomizer customizer = context.getBean(PolarisRegistrationCustomizer.class);
+ PolarisRegistrationCustomizer customizer = context.getBeansOfType(PolarisRegistrationCustomizer.class).get("polarisRegistrationCustomizer");
verify(customizer, times(1)).customize(any(PolarisRegistration.class));
});
}
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java
index 807537c54..48f1ee6aa 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java
@@ -46,7 +46,6 @@ import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
/**
* Test for {@link PolarisRegistration}.
@@ -82,7 +81,6 @@ public class PolarisRegistrationTest {
// mock NacosContextProperties
nacosContextProperties = mock(NacosContextProperties.class);
- doReturn(true).when(nacosContextProperties).isEnabled();
doReturn(true).when(nacosContextProperties).isRegisterEnabled();
doReturn("/").when(nacosContextProperties).getContextPath();
doReturn("cluster").when(nacosContextProperties).getClusterName();
@@ -179,7 +177,7 @@ public class PolarisRegistrationTest {
Map metadata = polarisRegistration1.getMetadata();
assertThat(metadata).isNotNull();
assertThat(metadata).isNotEmpty();
- assertThat(metadata.size()).isEqualTo(2);
+ assertThat(metadata.size()).isEqualTo(1);
assertThat(metadata.get("key1")).isEqualTo("value1");
}
@@ -192,24 +190,4 @@ public class PolarisRegistrationTest {
public void testToString() {
System.out.println(polarisRegistration1);
}
-
- @Test
- public void testGetNacosServiceId() {
- String groupName = "group";
- String format = "%s__%s";
- when(nacosContextProperties.getGroup()).thenReturn(groupName);
- String serviceId = polarisRegistration1.getServiceId();
- assertThat(String.format(format, groupName, SERVICE_PROVIDER).equals(serviceId));
- }
-
- @Test
- public void testGetNacosMetadata() {
- String clusterName = "cluster";
- when(nacosContextProperties.getClusterName()).thenReturn(clusterName);
- Map metadata = polarisRegistration1.getMetadata();
- assertThat(metadata).isNotNull();
- assertThat(metadata).isNotEmpty();
- assertThat(metadata.size()).isEqualTo(2);
- assertThat(metadata.get("nacos.cluster")).isEqualTo(clusterName);
- }
}
diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterConfigModifier.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterConfigModifier.java
index b99c3c08c..b0caff8d6 100644
--- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterConfigModifier.java
+++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterConfigModifier.java
@@ -50,7 +50,6 @@ public class RouterConfigModifier implements PolarisConfigModifier {
// Update modified config to source properties
configuration.getConsumer().getServiceRouter()
.setPluginConfig(ServiceRouterConfig.DEFAULT_ROUTER_RECOVER, recoverRouterConfig);
-
if (StringUtils.isNotBlank(polarisNearByRouterProperties.getMatchLevel())) {
RoutingProto.NearbyRoutingConfig.LocationLevel locationLevel =
RoutingProto.NearbyRoutingConfig.LocationLevel.valueOf(StringUtils.upperCase(polarisNearByRouterProperties.getMatchLevel()));
diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/interceptor/MetadataRouterRequestInterceptor.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/interceptor/MetadataRouterRequestInterceptor.java
index 019fdd533..504cc7eae 100644
--- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/interceptor/MetadataRouterRequestInterceptor.java
+++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/interceptor/MetadataRouterRequestInterceptor.java
@@ -45,7 +45,6 @@ public class MetadataRouterRequestInterceptor implements RouterRequestIntercepto
if (!polarisMetadataRouterProperties.isEnabled()) {
return;
}
-
// set metadata router label keys
MetadataContainer metadataContainer = MetadataContextHolder.get()
.getMetadataContainer(MetadataType.CUSTOM, false);
diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-starter-tencent-polaris-router/src/main/resources/META-INF/additional-spring-configuration-metadata.json
index 92251c916..858343c4c 100644
--- a/spring-cloud-starter-tencent-polaris-router/src/main/resources/META-INF/additional-spring-configuration-metadata.json
+++ b/spring-cloud-starter-tencent-polaris-router/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -6,6 +6,12 @@
"defaultValue": true,
"description": "the switch for metadata router."
},
+ {
+ "name": "spring.cloud.polaris.router.metadata-router.failOver",
+ "type": "java.lang.String",
+ "defaultValue": "METADATAFAILOVERALL",
+ "description": "the fail over type for rule based router."
+ },
{
"name": "spring.cloud.polaris.router.nearby-router.enabled",
"type": "java.lang.Boolean",
diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContext.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContext.java
index 6d86e6d04..15a7b6b73 100644
--- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContext.java
+++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContext.java
@@ -25,7 +25,6 @@ import java.util.function.BiConsumer;
import com.tencent.cloud.common.constant.MetadataConstant;
import com.tencent.cloud.common.util.ApplicationContextAwareUtils;
-import com.tencent.cloud.common.util.DiscoveryUtil;
import com.tencent.polaris.metadata.core.MetadataContainer;
import com.tencent.polaris.metadata.core.MetadataMapValue;
import com.tencent.polaris.metadata.core.MetadataObjectValue;
@@ -107,7 +106,6 @@ public class MetadataContext extends com.tencent.polaris.metadata.core.manager.M
LOG.error("namespace should not be blank. please configure spring.cloud.polaris.namespace or "
+ "spring.cloud.polaris.discovery.namespace");
}
- namespace = DiscoveryUtil.rewriteNamespace(namespace);
LOCAL_NAMESPACE = namespace;
String serviceName = ApplicationContextAwareUtils
@@ -121,7 +119,6 @@ public class MetadataContext extends com.tencent.polaris.metadata.core.manager.M
LOG.warn("service name should not be blank. please configure spring.cloud.polaris.service or "
+ "spring.cloud.polaris.discovery.service or spring.application.name");
}
- serviceName = DiscoveryUtil.rewriteServiceId(serviceName);
LOCAL_SERVICE = serviceName;
}
diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/DiscoveryUtil.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/DiscoveryUtil.java
deleted file mode 100644
index 8c8fe67b1..000000000
--- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/DiscoveryUtil.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Tencent is pleased to support the open source community by making spring-cloud-tencent available.
- *
- * Copyright (C) 2021 Tencent. All rights reserved.
- *
- * Licensed under the BSD 3-Clause License (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://opensource.org/licenses/BSD-3-Clause
- *
- * Unless required by applicable law or agreed to in writing, software distributed
- * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- * CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-
-package com.tencent.cloud.common.util;
-
-/**
- * Utils for Discovery.
- */
-public final class DiscoveryUtil {
-
- private static String ENABLE_NACOS;
-
- private static String ENABLE_NACOS_DISCOVERY;
-
- private static String ENABLE_NACOS_REGISTRY;
-
- private static String ENABLE_POLARIS_DISCOVERY;
-
- private static String NACOS_GROUP;
-
- private static String NACOS_NAMESPACE;
-
- private static final Object MUTEX = new Object();
-
- private static boolean INITIALIZE = false;
-
- private DiscoveryUtil() {
- }
-
- /**
- * rewrite serviceId when open double registry and discovery by nacos and polaris.
- *
- * @param serviceId service id
- * @return new service id
- */
- public static String rewriteServiceId(String serviceId) {
- init();
- if (Boolean.parseBoolean(ENABLE_NACOS)) {
- boolean rewrite = false;
- if (Boolean.parseBoolean(ENABLE_NACOS_REGISTRY) && Boolean.parseBoolean(ENABLE_POLARIS_DISCOVERY)) {
- rewrite = true;
- }
- if (Boolean.parseBoolean(ENABLE_NACOS_DISCOVERY) || Boolean.parseBoolean(ENABLE_POLARIS_DISCOVERY)) {
- rewrite = true;
- }
- if (rewrite) {
- serviceId = NACOS_GROUP + "__" + serviceId;
- }
- }
- return serviceId;
- }
-
- /**
- * rewrite namespace when open double registry and discovery by nacos and polaris.
- *
- * @param namespace namespace
- * @return new namespace
- */
- public static String rewriteNamespace(String namespace) {
- init();
- if (Boolean.parseBoolean(ENABLE_NACOS)) {
- boolean rewrite = false;
- if (Boolean.parseBoolean(ENABLE_NACOS_REGISTRY) && Boolean.parseBoolean(ENABLE_POLARIS_DISCOVERY)) {
- rewrite = true;
- }
- if (Boolean.parseBoolean(ENABLE_NACOS_DISCOVERY) || Boolean.parseBoolean(ENABLE_POLARIS_DISCOVERY)) {
- rewrite = true;
- }
- if (rewrite) {
- namespace = NACOS_NAMESPACE;
- }
- }
- return namespace;
- }
-
- private static void init() {
- if (INITIALIZE) {
- return;
- }
- synchronized (MUTEX) {
- if (INITIALIZE) {
- return;
- }
- ENABLE_NACOS = ApplicationContextAwareUtils.getProperties("spring.cloud.nacos.enabled");
- ENABLE_NACOS_DISCOVERY = ApplicationContextAwareUtils.getProperties("spring.cloud.nacos.discovery.enabled");
- ENABLE_NACOS_REGISTRY = ApplicationContextAwareUtils.getProperties("spring.cloud.nacos.discovery.register-enabled");
- ENABLE_POLARIS_DISCOVERY = ApplicationContextAwareUtils.getProperties("spring.cloud.polaris.discovery.enabled");
- NACOS_GROUP = ApplicationContextAwareUtils.getProperties("spring.cloud.nacos.discovery.group", "DEFAULT_GROUP");
- NACOS_NAMESPACE = ApplicationContextAwareUtils.getProperties("spring.cloud.nacos.discovery.namespace", "public");
- INITIALIZE = true;
- }
- }
-
-}
diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml
index d480f4f6b..db68421b9 100644
--- a/spring-cloud-tencent-dependencies/pom.xml
+++ b/spring-cloud-tencent-dependencies/pom.xml
@@ -252,12 +252,6 @@
${polaris.version}
-
- com.tencent.polaris
- connector-nacos
- ${polaris.version}
-
-
com.tencent.polaris
polaris-test-common