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()) {