You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2018/03/07 02:54:50 UTC
[incubator-servicecomb-java-chassis] branch master updated: SCB-210
remove extra useless config item (#569)
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 <li...@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 <li...@huawei.com>
* SCB-210 do the config source check work in each source respectively
Signed-off-by: lijasonvip <li...@huawei.com>
* SCB-210 add log info when configuration for config center is wrong
Signed-off-by: lijasonvip <li...@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
ningjiang@apache.org.