You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by vi...@apache.org on 2020/02/25 04:30:17 UTC

[dubbo] branch master updated: enhance configuration api (#5774)

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

victory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/master by this push:
     new 195b074  enhance configuration api (#5774)
195b074 is described below

commit 195b074698dd7e2f4c99656b9014521be67447c4
Author: ken.lj <ke...@gmail.com>
AuthorDate: Tue Feb 25 12:29:45 2020 +0800

    enhance configuration api (#5774)
---
 .../dubbo/common/config/ConfigurationUtils.java    | 31 +++++++++++++++++++++-
 .../apache/dubbo/common/config/Environment.java    | 20 ++++++++++++++
 2 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
index 58f3fb3..b0447c8 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
@@ -37,11 +37,40 @@ import static org.apache.dubbo.common.constants.CommonConstants.SHUTDOWN_WAIT_SE
 public class ConfigurationUtils {
     private static final Logger logger = LoggerFactory.getLogger(ConfigurationUtils.class);
 
+    /**
+     * Used to get properties from the jvm
+     *
+     * @return
+     */
+    public static Configuration getSystemConfiguration() {
+        return ApplicationModel.getEnvironment().getSystemConfiguration();
+    }
+
+    /**
+     * Used to get properties from the os environment
+     *
+     * @return
+     */
+    public static Configuration getEnvConfiguration() {
+        return ApplicationModel.getEnvironment().getEnvironmentConfiguration();
+    }
+
+    /**
+     * Used to get an composite property value.
+     * <p>
+     * Also see {@link Environment#getConfiguration()}
+     *
+     * @return
+     */
+    public static Configuration getGlobalConfiguration() {
+        return ApplicationModel.getEnvironment().getConfiguration();
+    }
+
     // FIXME
     @SuppressWarnings("deprecation")
     public static int getServerShutdownTimeout() {
         int timeout = DEFAULT_SERVER_SHUTDOWN_TIMEOUT;
-        Configuration configuration = ApplicationModel.getEnvironment().getConfiguration();
+        Configuration configuration = getGlobalConfiguration();
         String value = StringUtils.trim(configuration.getString(SHUTDOWN_WAIT_KEY));
 
         if (value != null && value.length() > 0) {
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java
index e4522a7..52da9d0 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java
@@ -191,6 +191,26 @@ public class Environment extends LifecycleAdapter implements FrameworkExt {
         clearAppExternalConfigs();
     }
 
+    public PropertiesConfiguration getPropertiesConfiguration() {
+        return propertiesConfiguration;
+    }
+
+    public SystemConfiguration getSystemConfiguration() {
+        return systemConfiguration;
+    }
+
+    public EnvironmentConfiguration getEnvironmentConfiguration() {
+        return environmentConfiguration;
+    }
+
+    public InmemoryConfiguration getExternalConfiguration() {
+        return externalConfiguration;
+    }
+
+    public InmemoryConfiguration getAppExternalConfiguration() {
+        return appExternalConfiguration;
+    }
+
     // For test
     public void clearExternalConfigs() {
         this.externalConfiguration.clear();