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 76c62ba Optimize the registryAsConfigCenter/MetadataCenter method to
return directly when the id exists in configManger (#7887)
76c62ba is described below
commit 76c62bafffb9bd6c126eb69856723b78c628c429
Author: 灼华 <[email protected]>
AuthorDate: Fri May 28 17:29:50 2021 +0800
Optimize the registryAsConfigCenter/MetadataCenter method to return
directly when the id exists in configManger (#7887)
* Optimize the registryAsConfigCenter method to return directly when the id
exists in configManger
* Optimize the registryAsMetadataCenter method to return directly when the
id exists in configManger
---
.../main/java/org/apache/dubbo/config/context/ConfigManager.java | 4 ++++
.../java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java | 8 ++++++++
2 files changed, 12 insertions(+)
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/config/context/ConfigManager.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/context/ConfigManager.java
index 65367ca..4d2fc25 100644
---
a/dubbo-common/src/main/java/org/apache/dubbo/config/context/ConfigManager.java
+++
b/dubbo-common/src/main/java/org/apache/dubbo/config/context/ConfigManager.java
@@ -165,6 +165,10 @@ public class ConfigManager extends LifecycleAdapter
implements FrameworkExt {
return getConfigs(getTagName(MetadataReportConfig.class));
}
+ public MetadataReportConfig getMetadataConfig(String id) {
+ return getConfig(getTagName(MetadataReportConfig.class), id);
+ }
+
public Collection<MetadataReportConfig> getDefaultMetadataConfigs() {
Collection<MetadataReportConfig> defaults =
getDefaultConfigs(getConfigsMap(getTagName(MetadataReportConfig.class)));
if (CollectionUtils.isEmpty(defaults)) {
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java
index 47ffe60..2cd7791 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java
@@ -680,6 +680,10 @@ public class DubboBootstrap {
String protocol = registryConfig.getProtocol();
Integer port = registryConfig.getPort();
String id = "config-center-" + protocol + "-" + port;
+ if (configManager.getConfigCenter(id) != null) {
+ return null;
+ }
+
ConfigCenterConfig cc = new ConfigCenterConfig();
cc.setId(id);
if (cc.getParameters() == null) {
@@ -781,6 +785,10 @@ public class DubboBootstrap {
String protocol = registryConfig.getProtocol();
Integer port = registryConfig.getPort();
String id = "metadata-center-" + protocol + "-" + port;
+ if (configManager.getMetadataConfig(id) != null) {
+ return null;
+ }
+
MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
metadataReportConfig.setId(id);
if (metadataReportConfig.getParameters() == null) {