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));
}
}