This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/master by this push:
     new b0732e9  ignore "dubbo" namespace when using nacos registry and 
metadata center (#7738)
b0732e9 is described below

commit b0732e93fed0d7882f8ce760012f6da1ab1204d0
Author: Wu Zhiguo <[email protected]>
AuthorDate: Thu May 13 12:14:30 2021 +0800

    ignore "dubbo" namespace when using nacos registry and metadata center 
(#7738)
---
 .../support/nacos/NacosDynamicConfigurationFactory.java       |  6 +++---
 .../metadata/store/nacos/NacosMetadataReportFactory.java      | 10 +++++++++-
 .../org/apache/dubbo/registry/nacos/NacosRegistryFactory.java | 11 +++++++++--
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git 
a/dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfigurationFactory.java
 
b/dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfigurationFactory.java
index 61c02b4..7fd297f 100644
--- 
a/dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfigurationFactory.java
+++ 
b/dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfigurationFactory.java
@@ -22,7 +22,7 @@ import 
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationF
 import org.apache.dubbo.common.config.configcenter.DynamicConfiguration;
 import org.apache.dubbo.common.constants.CommonConstants;
 
-import com.alibaba.nacos.api.PropertyKeyConst;
+import static 
org.apache.dubbo.common.constants.CommonConstants.CONFIG_NAMESPACE_KEY;
 
 /**
  * The nacos implementation of {@link AbstractDynamicConfigurationFactory}
@@ -32,9 +32,9 @@ public class NacosDynamicConfigurationFactory extends 
AbstractDynamicConfigurati
     @Override
     protected DynamicConfiguration createDynamicConfiguration(URL url) {
         URL nacosURL = url;
-        if 
(CommonConstants.DUBBO.equals(url.getParameter(PropertyKeyConst.NAMESPACE))) {
+        if 
(CommonConstants.DUBBO.equals(url.getParameter(CONFIG_NAMESPACE_KEY))) {
             // Nacos use empty string as default name space, replace default 
namespace "dubbo" to ""
-            nacosURL = url.removeParameter(PropertyKeyConst.NAMESPACE);
+            nacosURL = url.removeParameter(CONFIG_NAMESPACE_KEY);
         }
         return new NacosDynamicConfiguration(nacosURL);
     }
diff --git 
a/dubbo-metadata/dubbo-metadata-report-nacos/src/main/java/org/apache/dubbo/metadata/store/nacos/NacosMetadataReportFactory.java
 
b/dubbo-metadata/dubbo-metadata-report-nacos/src/main/java/org/apache/dubbo/metadata/store/nacos/NacosMetadataReportFactory.java
index 2cff74c..94b0b0b 100644
--- 
a/dubbo-metadata/dubbo-metadata-report-nacos/src/main/java/org/apache/dubbo/metadata/store/nacos/NacosMetadataReportFactory.java
+++ 
b/dubbo-metadata/dubbo-metadata-report-nacos/src/main/java/org/apache/dubbo/metadata/store/nacos/NacosMetadataReportFactory.java
@@ -18,15 +18,23 @@
 package org.apache.dubbo.metadata.store.nacos;
 
 import org.apache.dubbo.common.URL;
+import org.apache.dubbo.common.constants.CommonConstants;
 import org.apache.dubbo.metadata.report.MetadataReport;
 import org.apache.dubbo.metadata.report.support.AbstractMetadataReportFactory;
 
+import static 
org.apache.dubbo.common.constants.CommonConstants.CONFIG_NAMESPACE_KEY;
+
 /**
  * metadata report factory impl for nacos
  */
 public class NacosMetadataReportFactory extends AbstractMetadataReportFactory {
     @Override
     protected MetadataReport createMetadataReport(URL url) {
-        return new NacosMetadataReport(url);
+        URL nacosURL = url;
+        if 
(CommonConstants.DUBBO.equals(url.getParameter(CONFIG_NAMESPACE_KEY))) {
+            // ignore "dubbo" namespace, make the behavior equivalent to 
configcenter
+            nacosURL = url.removeParameter(CONFIG_NAMESPACE_KEY);
+        }
+        return new NacosMetadataReport(nacosURL);
     }
 }
diff --git 
a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistryFactory.java
 
b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistryFactory.java
index a51b65b..359483a 100644
--- 
a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistryFactory.java
+++ 
b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistryFactory.java
@@ -17,6 +17,7 @@
 package org.apache.dubbo.registry.nacos;
 
 import org.apache.dubbo.common.URL;
+import org.apache.dubbo.common.constants.CommonConstants;
 import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.registry.Registry;
 import org.apache.dubbo.registry.RegistryFactory;
@@ -36,7 +37,8 @@ public class NacosRegistryFactory extends 
AbstractRegistryFactory {
     protected String createRegistryCacheKey(URL url) {
         String namespace = url.getParameter(CONFIG_NAMESPACE_KEY);
         url = URL.valueOf(url.toServiceStringWithoutResolving());
-        if (StringUtils.isNotEmpty(namespace)) {
+        if (StringUtils.isNotEmpty(namespace) && 
!CommonConstants.DUBBO.equals(namespace)) {
+            // ignore "dubbo" namespace, make the behavior equivalent to 
configcenter
             url = url.addParameter(CONFIG_NAMESPACE_KEY, namespace);
         }
         return url.toFullString();
@@ -44,6 +46,11 @@ public class NacosRegistryFactory extends 
AbstractRegistryFactory {
 
     @Override
     protected Registry createRegistry(URL url) {
-        return new NacosRegistry(url, createNamingService(url));
+        URL nacosURL = url;
+        if 
(CommonConstants.DUBBO.equals(url.getParameter(CONFIG_NAMESPACE_KEY))) {
+            // ignore "dubbo" namespace, make the behavior equivalent to 
configcenter
+            nacosURL = url.removeParameter(CONFIG_NAMESPACE_KEY);
+        }
+        return new NacosRegistry(nacosURL, createNamingService(nacosURL));
     }
 }

Reply via email to