You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/09/17 12:26:29 UTC

[dubbo] branch 3.0 updated: Fix ModuleModel update Properties (#8832)

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 <jh...@gmail.com>
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()) {