You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ya...@apache.org on 2019/08/15 01:13:59 UTC

[servicecomb-java-chassis] branch master updated (be73f2e -> 55b0f16)

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

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


    from be73f2e  [SCB-1431] set all dependency versions as properties
     new 7e23a66  [SCB-1297] NPE would be arised if you haven't given any value for servicecomb.config.ignoreResolveFailure
     new 55b0f16  [SCB-1297] fix CI that DynamicProperty can not get Spring properties

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../config/ConfigurationSpringInitializer.java     | 12 +++++++-----
 .../config/TestConfigurationSpringInitializer.java | 22 ++++++++++++++++++++++
 2 files changed, 29 insertions(+), 5 deletions(-)


[servicecomb-java-chassis] 01/02: [SCB-1297] NPE would be arised if you haven't given any value for servicecomb.config.ignoreResolveFailure

Posted by ya...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 7e23a668ceb7e02cf1e3558a17e80edd9f688357
Author: l00393086 <li...@163.com>
AuthorDate: Mon Aug 12 16:06:12 2019 +0800

    [SCB-1297] NPE would be arised if you haven't given any value for servicecomb.config.ignoreResolveFailure
---
 .../config/ConfigurationSpringInitializer.java     | 17 ++++++++++-------
 .../config/TestConfigurationSpringInitializer.java | 22 ++++++++++++++++++++++
 2 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java
index ae6d217..c7472c7 100644
--- a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java
+++ b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java
@@ -76,6 +76,9 @@ public class ConfigurationSpringInitializer extends PropertyPlaceholderConfigure
    */
   @Override
   public void setEnvironment(Environment environment) {
+
+    ConfigUtil.installDynamicConfig();
+
     String environmentName = generateNameForEnvironment(environment);
     LOGGER.info("Environment received, will get configurations from [{}].", environmentName);
 
@@ -83,8 +86,6 @@ public class ConfigurationSpringInitializer extends PropertyPlaceholderConfigure
 
     ConfigUtil.addExtraConfig(EXTRA_CONFIG_SOURCE_PREFIX + environmentName, extraConfig);
 
-    ConfigUtil.installDynamicConfig();
-
     setUpSpringPropertySource(environment);
   }
 
@@ -200,10 +201,10 @@ public class ConfigurationSpringInitializer extends PropertyPlaceholderConfigure
         try {
           configFromSpringBoot.put(propertyName, environment.getProperty(propertyName, Object.class));
         } catch (Exception e) {
-          if (!getIfIgnoreEnvironment()) {
-            throw new RuntimeException("set up spring property source failed.", e);
-          } else {
+          if (ignoreResolveFailure()) {
             LOGGER.warn("set up spring property source failed.", e);
+          } else {
+            throw new RuntimeException("set up spring property source failed.If you still want to start up the application and ignore the errors, you can set servicecomb.config.ignoreResolveFailure to true.", e);
           }
         }
       }
@@ -213,7 +214,9 @@ public class ConfigurationSpringInitializer extends PropertyPlaceholderConfigure
     LOGGER.debug("a none EnumerablePropertySource is ignored, propertySourceName = [{}]", propertySource.getName());
   }
 
-  private boolean getIfIgnoreEnvironment() {
-    return (Boolean) ConfigUtil.createLocalConfig().getProperty("servicecomb.config.ignoreResolveFailure");
+  private boolean ignoreResolveFailure() {
+    return DynamicPropertyFactory.getInstance()
+            .getBooleanProperty("servicecomb.config.ignoreResolveFailure", false)
+            .get();
   }
 }
diff --git a/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigurationSpringInitializer.java b/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigurationSpringInitializer.java
index c50e01e..ac20e23 100644
--- a/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigurationSpringInitializer.java
+++ b/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigurationSpringInitializer.java
@@ -43,6 +43,9 @@ import org.springframework.core.env.CompositePropertySource;
 import org.springframework.core.env.ConfigurableEnvironment;
 import org.springframework.core.env.MapPropertySource;
 import org.springframework.core.env.MutablePropertySources;
+import org.springframework.core.env.PropertySource;
+import org.springframework.core.env.StandardEnvironment;
+import org.springframework.core.env.SystemEnvironmentPropertySource;
 import org.springframework.jndi.JndiPropertySource;
 
 import com.netflix.config.ConfigurationManager;
@@ -224,8 +227,27 @@ public class TestConfigurationSpringInitializer {
     assertEquals("value2", extraProperties.get("key2"));
   }
 
+  @Test(expected = RuntimeException.class)
+  public void shoud_throw_exception_when_given_ignoreResolveFailure_false() {
+    StandardEnvironment environment = newStandardEnvironment();
+
+    ConfigurationSpringInitializer configurationSpringInitializer = new ConfigurationSpringInitializer();
+    configurationSpringInitializer.setEnvironment(environment);
+  }
+
   private Map<String, Map<String, Object>> getExtraConfigMapFromConfigUtil() {
     return Deencapsulation
         .getField(ConfigUtil.class, "EXTRA_CONFIG_MAP");
   }
+
+  private StandardEnvironment newStandardEnvironment() {
+    Map<String, Object> envProperties = new HashMap<>();
+    envProperties.put("IFS-X", "${IFS-X}");
+    PropertySource<Map<String, Object>> systemEnvironmentPropertySource = new SystemEnvironmentPropertySource("system-env", envProperties);
+
+    StandardEnvironment environment = new StandardEnvironment();
+    environment.getPropertySources()
+            .addAfter(StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, systemEnvironmentPropertySource);
+    return environment;
+  }
 }


[servicecomb-java-chassis] 02/02: [SCB-1297] fix CI that DynamicProperty can not get Spring properties

Posted by ya...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 55b0f165b58a70868a2e69083b1d30a3b8f82838
Author: l00393086 <li...@163.com>
AuthorDate: Tue Aug 13 16:37:39 2019 +0800

    [SCB-1297] fix CI that DynamicProperty can not get Spring properties
---
 .../servicecomb/config/ConfigurationSpringInitializer.java  | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java
index c7472c7..bf380f6 100644
--- a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java
+++ b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java
@@ -76,9 +76,6 @@ public class ConfigurationSpringInitializer extends PropertyPlaceholderConfigure
    */
   @Override
   public void setEnvironment(Environment environment) {
-
-    ConfigUtil.installDynamicConfig();
-
     String environmentName = generateNameForEnvironment(environment);
     LOGGER.info("Environment received, will get configurations from [{}].", environmentName);
 
@@ -86,6 +83,8 @@ public class ConfigurationSpringInitializer extends PropertyPlaceholderConfigure
 
     ConfigUtil.addExtraConfig(EXTRA_CONFIG_SOURCE_PREFIX + environmentName, extraConfig);
 
+    ConfigUtil.installDynamicConfig();
+
     setUpSpringPropertySource(environment);
   }
 
@@ -204,7 +203,7 @@ public class ConfigurationSpringInitializer extends PropertyPlaceholderConfigure
           if (ignoreResolveFailure()) {
             LOGGER.warn("set up spring property source failed.", e);
           } else {
-            throw new RuntimeException("set up spring property source failed.If you still want to start up the application and ignore the errors, you can set servicecomb.config.ignoreResolveFailure to true.", e);
+            throw new RuntimeException("set up spring property source failed.If you still want to start up the application and ignore errors, you can set servicecomb.config.ignoreResolveFailure to true.", e);
           }
         }
       }
@@ -215,8 +214,8 @@ public class ConfigurationSpringInitializer extends PropertyPlaceholderConfigure
   }
 
   private boolean ignoreResolveFailure() {
-    return DynamicPropertyFactory.getInstance()
-            .getBooleanProperty("servicecomb.config.ignoreResolveFailure", false)
-            .get();
+    return ConfigUtil
+            .createLocalConfig()
+            .getBoolean("servicecomb.config.ignoreResolveFailure", false);
   }
 }