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

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


The following commit(s) were added to refs/heads/3.0 by this push:
     new 1702fa0  Fix ModuleModel update Properties (#8832)
1702fa0 is described below

commit 1702fa0abb2c9f421d88593b0c0f6206e1a86d6c
Author: Albumen Kevin <[email protected]>
AuthorDate: Fri Sep 17 20:26:17 2021 +0800

    Fix ModuleModel update Properties (#8832)
    
    * Fix ModuleModel update Properties
    
    * Fix ModuleModel update Properties
---
 .../src/main/java/org/apache/dubbo/common/config/Environment.java    | 5 ++++-
 .../main/java/org/apache/dubbo/common/config/ModuleEnvironment.java  | 4 ++++
 .../apache/dubbo/common/config/OrderedPropertiesConfiguration.java   | 3 ++-
 3 files changed, 10 insertions(+), 2 deletions(-)

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 cd06ec3..6df25f1 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<Map<String, String>> globalConfigurationMaps;
+    protected List<Map<String, String>> globalConfigurationMaps;
 
     private CompositeConfiguration defaultDynamicGlobalConfiguration;
 
@@ -293,6 +293,9 @@ public class Environment extends LifecycleAdapter 
implements ApplicationExt {
     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 29723b5..5aad696 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 class ModuleEnvironment extends Environment 
implements ModuleExt {
     @Override
     public void destroy() throws IllegalStateException {
         this.orderedPropertiesConfiguration = null;
+        this.globalConfiguration = null;
         this.dynamicGlobalConfiguration = null;
         this.dynamicConfiguration = null;
     }
@@ -213,5 +214,8 @@ public class ModuleEnvironment extends Environment 
implements ModuleExt {
     public void refreshClassLoaders() {
         orderedPropertiesConfiguration.refresh();
         applicationDelegate.refreshClassLoaders();
+        this.globalConfiguration = null;
+        this.globalConfigurationMaps = 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 140367d..299ec2b 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.Properties;
 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 class OrderedPropertiesConfiguration implements 
Configuration{
     }
 
     public void refresh() {
+        properties = new Properties();
         ExtensionLoader<OrderedPropertiesProvider> 
propertiesProviderExtensionLoader = 
moduleModel.getExtensionLoader(OrderedPropertiesProvider.class);
         Set<String> propertiesProviderNames = 
propertiesProviderExtensionLoader.getSupportedExtensions();
         if (propertiesProviderNames == null || 
propertiesProviderNames.isEmpty()) {

Reply via email to