You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2020/02/28 11:50:13 UTC

[dubbo] branch master updated: fix config-center configured in dubbo.properties does not work. (#5811)

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

liujun 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 ca28815  fix config-center configured in dubbo.properties does not work. (#5811)
ca28815 is described below

commit ca288152a0adcb48085f87b27a643bea31953449
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri Feb 28 19:50:06 2020 +0800

    fix config-center configured in dubbo.properties does not work. (#5811)
    
    fixes #5777
---
 .../dubbo/config/bootstrap/DubboBootstrap.java     | 51 +++++++++++++---------
 1 file changed, 30 insertions(+), 21 deletions(-)

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 9d8f9bb..7d1fb5e 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
@@ -507,16 +507,12 @@ public class DubboBootstrap extends GenericEventListener {
 
         useRegistryAsConfigCenterIfNecessary();
 
-        startMetadataReport();
-
         loadRemoteConfigs();
 
         checkGlobalConfigs();
 
         initMetadataService();
 
-        initMetadataServiceExporter();
-
         initEventListener();
 
         if (logger.isInfoEnabled()) {
@@ -527,17 +523,22 @@ public class DubboBootstrap extends GenericEventListener {
     private void checkGlobalConfigs() {
         // check Application
         ConfigValidationUtils.validateApplicationConfig(getApplication());
-        // check Config Center
-        Collection<ConfigCenterConfig> configCenters = configManager.getConfigCenters();
-        if (CollectionUtils.isNotEmpty(configCenters)) {
-            for (ConfigCenterConfig configCenterConfig : configCenters) {
-                ConfigValidationUtils.validateConfigCenterConfig(configCenterConfig);
-            }
-        }
+
         // check Metadata
         Collection<MetadataReportConfig> metadatas = configManager.getMetadataConfigs();
-        for (MetadataReportConfig metadataReportConfig : metadatas) {
-            ConfigValidationUtils.validateMetadataConfig(metadataReportConfig);
+        if (CollectionUtils.isEmpty(metadatas)) {
+            MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
+            metadataReportConfig.refresh();
+            if (metadataReportConfig.isValid()) {
+                configManager.addMetadataReport(metadataReportConfig);
+                metadatas = configManager.getMetadataConfigs();
+            }
+        }
+        if (CollectionUtils.isNotEmpty(metadatas)) {
+            for (MetadataReportConfig metadataReportConfig : metadatas) {
+                metadataReportConfig.refresh();
+                ConfigValidationUtils.validateMetadataConfig(metadataReportConfig);
+            }
         }
 
         // check Provider
@@ -580,11 +581,24 @@ public class DubboBootstrap extends GenericEventListener {
     private void startConfigCenter() {
         Collection<ConfigCenterConfig> configCenters = configManager.getConfigCenters();
 
+        // check Config Center
+        if (CollectionUtils.isEmpty(configCenters)) {
+            ConfigCenterConfig configCenterConfig = new ConfigCenterConfig();
+            configCenterConfig.refresh();
+            if (configCenterConfig.isValid()) {
+                configManager.addConfigCenter(configCenterConfig);
+                configCenters = configManager.getConfigCenters();
+            }
+        } else {
+            for (ConfigCenterConfig configCenterConfig : configCenters) {
+                configCenterConfig.refresh();
+                ConfigValidationUtils.validateConfigCenterConfig(configCenterConfig);
+            }
+        }
+
         if (CollectionUtils.isNotEmpty(configCenters)) {
             CompositeDynamicConfiguration compositeDynamicConfiguration = new CompositeDynamicConfiguration();
             for (ConfigCenterConfig configCenter : configCenters) {
-                configCenter.refresh();
-                ConfigValidationUtils.validateConfigCenterConfig(configCenter);
                 compositeDynamicConfiguration.addConfiguration(prepareEnvironment(configCenter));
             }
             environment.setDynamicConfiguration(compositeDynamicConfiguration);
@@ -695,13 +709,8 @@ public class DubboBootstrap extends GenericEventListener {
      * Initialize {@link MetadataService} from {@link WritableMetadataService}'s extension
      */
     private void initMetadataService() {
+        startMetadataReport();
         this.metadataService = getExtension(getMetadataType());
-    }
-
-    /**
-     * Initialize {@link MetadataServiceExporter}
-     */
-    private void initMetadataServiceExporter() {
         this.metadataServiceExporter = new ConfigurableMetadataServiceExporter(metadataService);
     }