From 195b074698dd7e2f4c99656b9014521be67447c4 Mon Sep 17 00:00:00 2001 From: "ken.lj" Date: Tue, 25 Feb 2020 12:29:45 +0800 Subject: [PATCH] enhance configuration api (#5774) --- .../common/config/ConfigurationUtils.java | 31 ++++++++++++++++++- .../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 58f3fb3414..b0447c8443 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. + *

+ * 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 e4522a73a7..52da9d01d8 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();