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 2018/11/13 06:04:58 UTC

[incubator-dubbo] 02/04: Move refresh action of configs from Spring bean to a Config API.

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

liujun pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git

commit b787ab7a09ecef95100000ce206d078dec282b9e
Author: ken.lj <ke...@gmail.com>
AuthorDate: Tue Nov 13 12:55:06 2018 +0800

    Move refresh action of configs from Spring bean to a Config API.
---
 .../src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java     | 4 ++--
 .../src/main/java/org/apache/dubbo/config/ReferenceConfig.java        | 2 ++
 .../src/main/java/org/apache/dubbo/config/ServiceConfig.java          | 2 ++
 .../src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java   | 2 --
 .../src/main/java/org/apache/dubbo/config/spring/ServiceBean.java     | 2 --
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
index 50b7699..82aef2a 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
@@ -80,7 +80,7 @@ public class ConfigCenterConfig extends AbstractConfig {
         return new URL(Constants.CONFIG_PROTOCOL, username, password, host, port, ConfigCenterConfig.class.getSimpleName(), map);
     }
 
-    public void init() throws Exception {
+    public void init() {
         // give jvm properties the chance to override local configs, e.g., -Ddubbo.configcenter.config.priority
         refresh();
 
@@ -99,7 +99,7 @@ public class ConfigCenterConfig extends AbstractConfig {
             Environment.getInstance().updateExternalConfigurationMap(parseProperties(configContent));
             Environment.getInstance().updateAppExternalConfigurationMap(parseProperties(appConfigContent));
         } catch (IOException e) {
-            throw e;
+            throw new IllegalStateException("Failed to parse configurations from Config Center.", e);
         }
     }
 
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
index 696840c..f98d8c1 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
@@ -223,6 +223,8 @@ public class ReferenceConfig<T> extends AbstractReferenceConfig {
     }
 
     public synchronized T get() {
+        checkAndUpdateSubConfigs();
+
         if (destroyed) {
             throw new IllegalStateException("Already destroyed!");
         }
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
index 4c20230..4d314ef 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
@@ -287,6 +287,8 @@ public class ServiceConfig<T> extends AbstractServiceConfig {
     }
 
     public synchronized void export() {
+        checkAndUpdateSubConfigs();
+
         if (provider != null) {
             if (export == null) {
                 export = provider.getExport();
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
index 565b33f..debd366 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
@@ -181,8 +181,6 @@ public class ReferenceBean<T> extends ReferenceConfig<T> implements FactoryBean,
             }
         }
 
-        checkAndUpdateSubConfigs();
-
         Boolean b = isInit();
         if (b == null && getConsumer() != null) {
             b = getConsumer().isInit();
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
index e6bc114..06b228a 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
@@ -253,8 +253,6 @@ public class ServiceBean<T> extends ServiceConfig<T> implements InitializingBean
             }
         }
 
-        checkAndUpdateSubConfigs();
-
         if (!supportedApplicationListener) {
             export();
         }