From 23ce6c331be1e66e52ba4398e51fe19b4138b71e Mon Sep 17 00:00:00 2001 From: Albumen Kevin Date: Fri, 17 Sep 2021 13:38:08 +0800 Subject: [PATCH 1/2] Fix ModuleModel update Properties --- .../java/org/apache/dubbo/common/config/ModuleEnvironment.java | 3 +++ .../dubbo/common/config/OrderedPropertiesConfiguration.java | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/ModuleEnvironment.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/ModuleEnvironment.java index 29723b510d5..827a40d9b85 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/ModuleEnvironment.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/ModuleEnvironment.java @@ -120,6 +120,7 @@ public void setDynamicConfiguration(DynamicConfiguration dynamicConfiguration) { @Override public void destroy() throws IllegalStateException { this.orderedPropertiesConfiguration = null; + this.globalConfiguration = null; this.dynamicGlobalConfiguration = null; this.dynamicConfiguration = null; } @@ -213,5 +214,7 @@ public String getLocalMigrationRule() { public void refreshClassLoaders() { orderedPropertiesConfiguration.refresh(); applicationDelegate.refreshClassLoaders(); + this.globalConfiguration = null; + this.dynamicGlobalConfiguration = null; } } diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/OrderedPropertiesConfiguration.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/OrderedPropertiesConfiguration.java index 140367da5aa..299ec2bbe60 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/OrderedPropertiesConfiguration.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/OrderedPropertiesConfiguration.java @@ -26,7 +26,7 @@ import java.util.Set; public class OrderedPropertiesConfiguration implements Configuration{ - private Properties properties = new Properties(); + private Properties properties; private ModuleModel moduleModel; public OrderedPropertiesConfiguration(ModuleModel moduleModel) { @@ -35,6 +35,7 @@ public OrderedPropertiesConfiguration(ModuleModel moduleModel) { } public void refresh() { + properties = new Properties(); ExtensionLoader propertiesProviderExtensionLoader = moduleModel.getExtensionLoader(OrderedPropertiesProvider.class); Set propertiesProviderNames = propertiesProviderExtensionLoader.getSupportedExtensions(); if (propertiesProviderNames == null || propertiesProviderNames.isEmpty()) { From 68d6b150a0d8561470948239b6e586fe0a36f0c5 Mon Sep 17 00:00:00 2001 From: Albumen Kevin Date: Fri, 17 Sep 2021 14:11:29 +0800 Subject: [PATCH 2/2] Fix ModuleModel update Properties --- .../java/org/apache/dubbo/common/config/Environment.java | 5 ++++- .../org/apache/dubbo/common/config/ModuleEnvironment.java | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) 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 cd06ec334c8..6df25f19091 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 @@ -59,7 +59,7 @@ public class Environment extends LifecycleAdapter implements ApplicationExt { protected CompositeConfiguration globalConfiguration; - private List> globalConfigurationMaps; + protected List> globalConfigurationMaps; private CompositeConfiguration defaultDynamicGlobalConfiguration; @@ -293,6 +293,9 @@ public String getLocalMigrationRule() { public void refreshClassLoaders() { propertiesConfiguration.refresh(); loadMigrationRule(); + this.globalConfiguration = null; + this.globalConfigurationMaps = null; + this.defaultDynamicGlobalConfiguration = null; } public Configuration getDynamicGlobalConfiguration() { diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/ModuleEnvironment.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/ModuleEnvironment.java index 827a40d9b85..5aad696d232 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/ModuleEnvironment.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/ModuleEnvironment.java @@ -215,6 +215,7 @@ public void refreshClassLoaders() { orderedPropertiesConfiguration.refresh(); applicationDelegate.refreshClassLoaders(); this.globalConfiguration = null; + this.globalConfigurationMaps = null; this.dynamicGlobalConfiguration = null; } }