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

ningjiang pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new 6f62b75  SCB-210 remove extra useless config item (#569)
6f62b75 is described below

commit 6f62b75d28fb41d4820de75124acb64e75fb3405
Author: lijasonvip <lib...@huawei.com>
AuthorDate: Wed Mar 7 10:54:48 2018 +0800

    SCB-210 remove extra useless config item (#569)
    
    * SCB-210 remove extra useless config item
    
    Signed-off-by: lijasonvip <lib...@huawei.com>
    
    * SCB-210 do the config source check work in each source respectively
    
    Signed-off-by: lijasonvip <lib...@huawei.com>
    
    * SCB-210 add log info when configuration for config center is wrong
    
    Signed-off-by: lijasonvip <lib...@huawei.com>
---
 .../archaius/sources/ApolloConfigurationSourceImpl.java      | 11 +++++++++++
 .../config-apollo/src/test/resources/microservice.yaml       |  5 +----
 .../sources/ConfigCenterConfigurationSourceImpl.java         | 11 +++++++++++
 .../main/java/org/apache/servicecomb/config/ConfigUtil.java  | 12 +++++-------
 .../config/spi/ConfigCenterConfigurationSource.java          |  1 +
 .../servicecomb/config/MapBasedConfigurationSource.java      |  8 ++++++++
 .../src/main/resources/microservice.yaml                     |  5 +----
 7 files changed, 38 insertions(+), 15 deletions(-)

diff --git 
a/dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
 
b/dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
index 4dc1931..0093c80 100644
--- 
a/dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
+++ 
b/dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
@@ -49,12 +49,23 @@ public class ApolloConfigurationSourceImpl implements 
ConfigCenterConfigurationS
 
   private List<WatchedUpdateListener> listeners = new CopyOnWriteArrayList<>();
 
+  private static final String APOLLO_CONFIG_URL_KEY = 
"apollo.config.serverUri";
+
   public ApolloConfigurationSourceImpl() {
   }
 
   private final UpdateHandler updateHandler = new UpdateHandler();
 
   @Override
+  public boolean isValidSource(Configuration localConfiguration) {
+    if (localConfiguration.getProperty(APOLLO_CONFIG_URL_KEY) == null){
+      LOGGER.warn("Apollo configuration source is not configured!");
+      return false;
+    }
+    return true;
+  }
+
+  @Override
   public void init(Configuration localConfiguration) {
     ApolloConfig.setConcurrentCompositeConfiguration(localConfiguration);
     init();
diff --git a/dynamic-config/config-apollo/src/test/resources/microservice.yaml 
b/dynamic-config/config-apollo/src/test/resources/microservice.yaml
index f050218..6c8b496 100644
--- a/dynamic-config/config-apollo/src/test/resources/microservice.yaml
+++ b/dynamic-config/config-apollo/src/test/resources/microservice.yaml
@@ -16,7 +16,7 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-APPLICATION_ID: pojotest
+APPLICATION_ID: apollotest
 service_description:
   name: apollo-test
   version: 1.0.1
@@ -33,9 +33,6 @@ apollo:
     firstRefreshInterval: 0
 
 cse:
-  config:
-    client:
-      serverUri: http://127.0.0.1:8070
   service:
     registry:
       address: http://127.0.0.1:30100
diff --git 
a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigCenterConfigurationSourceImpl.java
 
b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigCenterConfigurationSourceImpl.java
index 74a7d90..d439299 100644
--- 
a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigCenterConfigurationSourceImpl.java
+++ 
b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigCenterConfigurationSourceImpl.java
@@ -49,9 +49,20 @@ public class ConfigCenterConfigurationSourceImpl implements 
ConfigCenterConfigur
 
   private UpdateHandler updateHandler = new UpdateHandler();
 
+  private static final String CONFIG_CENTER_URL_KEY = 
"cse.config.client.serverUri";
+
   public ConfigCenterConfigurationSourceImpl() {
   }
 
+  @Override
+  public boolean isValidSource(Configuration localConfiguration) {
+    if (localConfiguration.getProperty(CONFIG_CENTER_URL_KEY) == null) {
+      LOGGER.warn("Config Center configuration source is not configured!");
+      return false;
+    }
+    return true;
+  }
+
   private void init() {
     ConfigCenterClient configCenterClient = new 
ConfigCenterClient(updateHandler);
     configCenterClient.connectServer();
diff --git 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
index 28e2855..fbef8a9 100644
--- 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
+++ 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
@@ -50,8 +50,6 @@ import com.netflix.config.WatchedUpdateResult;
 public final class ConfigUtil {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(ConfigUtil.class);
 
-  protected static final String configCenterUrlKey = 
"cse.config.client.serverUri";
-
   private static final String MICROSERVICE_CONFIG_LOADER_KEY = 
"cse-microservice-config-loader";
 
   private ConfigUtil() {
@@ -150,11 +148,6 @@ public final class ConfigUtil {
   }
 
   public static DynamicWatchedConfiguration 
createConfigFromConfigCenter(Configuration localConfiguration) {
-    if (localConfiguration.getProperty(configCenterUrlKey) == null) {
-      LOGGER.info("config center URL is missing, skip to load configuration 
from config center");
-      return null;
-    }
-
     ConfigCenterConfigurationSource configCenterConfigurationSource =
         
SPIServiceUtils.getTargetService(ConfigCenterConfigurationSource.class);
     if (null == configCenterConfigurationSource) {
@@ -163,6 +156,11 @@ public final class ConfigUtil {
       return null;
     }
 
+    if (!configCenterConfigurationSource.isValidSource(localConfiguration)) {
+      LOGGER.info("Config Source serverUri is not correctly configured.");
+      return null;
+    }
+
     configCenterConfigurationSource.init(localConfiguration);
     return new DynamicWatchedConfiguration(configCenterConfigurationSource);
   }
diff --git 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/spi/ConfigCenterConfigurationSource.java
 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/spi/ConfigCenterConfigurationSource.java
index 68a2d49..5b9a817 100644
--- 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/spi/ConfigCenterConfigurationSource.java
+++ 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/spi/ConfigCenterConfigurationSource.java
@@ -22,5 +22,6 @@ import org.apache.commons.configuration.Configuration;
 import com.netflix.config.WatchedConfigurationSource;
 
 public interface ConfigCenterConfigurationSource extends 
WatchedConfigurationSource {
+  boolean isValidSource(Configuration localConfiguration);
   void init(Configuration localConfiguration);
 }
diff --git 
a/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/MapBasedConfigurationSource.java
 
b/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/MapBasedConfigurationSource.java
index 18bb237..5f08c8a 100644
--- 
a/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/MapBasedConfigurationSource.java
+++ 
b/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/MapBasedConfigurationSource.java
@@ -40,6 +40,14 @@ public class MapBasedConfigurationSource implements 
ConfigCenterConfigurationSou
   }
 
   @Override
+  public boolean isValidSource(Configuration localConfiguration) {
+    if (localConfiguration.getProperty("cse.config.client.serverUri") == null) 
{
+      return false;
+    }
+    return true;
+  }
+
+  @Override
   public void init(Configuration localConfiguration) {
 
   }
diff --git a/samples/config-apollo-sample/src/main/resources/microservice.yaml 
b/samples/config-apollo-sample/src/main/resources/microservice.yaml
index fe4b1f1..47ef109 100644
--- a/samples/config-apollo-sample/src/main/resources/microservice.yaml
+++ b/samples/config-apollo-sample/src/main/resources/microservice.yaml
@@ -16,7 +16,7 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-APPLICATION_ID: pojotest
+APPLICATION_ID: apollotest
 service_description:
   name: apollo-test
   version: 1.0.1
@@ -30,9 +30,6 @@ apollo:
     namespace: application
     token: #get token from Apollo web pages
 cse:
-  config:
-    client:
-      serverUri: http://127.0.0.1:8070
   service:
     registry:
       address: http://127.0.0.1:30100

-- 
To stop receiving notification emails like this one, please contact
ningji...@apache.org.

Reply via email to