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.