This is an automated email from the ASF dual-hosted git repository.
kylixs pushed a commit to branch 3.0-multi-instances
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.0-multi-instances by this
push:
new 9cd9436 improve scope model of config bean
9cd9436 is described below
commit 9cd9436ec0e099a3192e6ba1eb5ae0228f2ef92e
Author: gongdewei <[email protected]>
AuthorDate: Tue Aug 31 11:22:34 2021 +0800
improve scope model of config bean
---
.../main/java/org/apache/dubbo/config/AbstractConfig.java | 14 ++++++++++----
.../java/org/apache/dubbo/config/AbstractMethodConfig.java | 5 +++++
.../java/org/apache/dubbo/config/ConfigCenterConfig.java | 2 +-
.../java/org/apache/dubbo/config/MetadataReportConfig.java | 2 +-
.../java/org/apache/dubbo/config/ReferenceConfigBase.java | 3 ---
.../main/java/org/apache/dubbo/config/RegistryConfig.java | 2 +-
.../java/org/apache/dubbo/config/ServiceConfigBase.java | 3 ---
7 files changed, 18 insertions(+), 13 deletions(-)
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractConfig.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractConfig.java
index 0662a46..3346620 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractConfig.java
@@ -106,7 +106,11 @@ public abstract class AbstractConfig implements
Serializable {
protected ScopeModel scopeModel;
public AbstractConfig() {
- setScopeModel(ApplicationModel.defaultModel());
+ this(ApplicationModel.defaultModel());
+ }
+
+ public AbstractConfig(ScopeModel scopeModel) {
+ this.setScopeModel(scopeModel);
}
public static String getTagName(Class<?> cls) {
@@ -332,9 +336,11 @@ public abstract class AbstractConfig implements
Serializable {
}
public void setScopeModel(ScopeModel scopeModel) {
- this.scopeModel = scopeModel;
- // REINITIALIZE SPI extension here
- this.initExtensions();
+ if (this.scopeModel != scopeModel) {
+ this.scopeModel = scopeModel;
+ // reinitialize spi extension here
+ this.initExtensions();
+ }
}
/**
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractMethodConfig.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractMethodConfig.java
index 2c43206..31c7abe 100644
---
a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractMethodConfig.java
+++
b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractMethodConfig.java
@@ -17,6 +17,7 @@
package org.apache.dubbo.config;
import org.apache.dubbo.config.support.Parameter;
+import org.apache.dubbo.rpc.model.ApplicationModel;
import java.util.Map;
@@ -95,6 +96,10 @@ public abstract class AbstractMethodConfig extends
AbstractConfig {
*/
protected Integer forks;
+ public AbstractMethodConfig() {
+ super(ApplicationModel.defaultModel().getDefaultModule());
+ }
+
public Integer getForks() {
return forks;
}
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
index 788f549..4133f0e 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
@@ -173,7 +173,7 @@ public class ConfigCenterConfig extends AbstractConfig {
this.address = address;
if (address != null) {
try {
- URL url = URL.valueOf(address, getScopeModel());
+ URL url = URL.valueOf(address);
updatePropertyIfAbsent(this::getUsername, this::setUsername,
url.getUsername());
updatePropertyIfAbsent(this::getPassword, this::setPassword,
url.getPassword());
updatePropertyIfAbsent(this::getProtocol, this::setProtocol,
url.getProtocol());
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
index 3cc9004..e78e776 100644
---
a/dubbo-common/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
+++
b/dubbo-common/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
@@ -139,7 +139,7 @@ public class MetadataReportConfig extends AbstractConfig {
this.address = address;
if (address != null) {
try {
- URL url = URL.valueOf(address, getScopeModel());
+ URL url = URL.valueOf(address);
// Refactor since 2.7.8
updatePropertyIfAbsent(this::getUsername, this::setUsername,
url.getUsername());
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/config/ReferenceConfigBase.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/ReferenceConfigBase.java
index 30eb70d..09abf83 100644
---
a/dubbo-common/src/main/java/org/apache/dubbo/config/ReferenceConfigBase.java
+++
b/dubbo-common/src/main/java/org/apache/dubbo/config/ReferenceConfigBase.java
@@ -22,7 +22,6 @@ import org.apache.dubbo.common.utils.RegexProperties;
import org.apache.dubbo.common.utils.StringUtils;
import org.apache.dubbo.config.annotation.Reference;
import org.apache.dubbo.config.support.Parameter;
-import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.ServiceMetadata;
import org.apache.dubbo.rpc.service.GenericService;
import org.apache.dubbo.rpc.support.ProtocolUtils;
@@ -76,7 +75,6 @@ public abstract class ReferenceConfigBase<T> extends
AbstractReferenceConfig {
public ReferenceConfigBase() {
serviceMetadata = new ServiceMetadata();
serviceMetadata.addAttribute("ORIGIN_CONFIG", this);
- setScopeModel(ApplicationModel.defaultModel().getDefaultModule());
}
public ReferenceConfigBase(Reference reference) {
@@ -84,7 +82,6 @@ public abstract class ReferenceConfigBase<T> extends
AbstractReferenceConfig {
serviceMetadata.addAttribute("ORIGIN_CONFIG", this);
appendAnnotation(Reference.class, reference);
setMethods(MethodConfig.constructMethodConfig(reference.methods()));
- setScopeModel(ApplicationModel.defaultModel().getDefaultModule());
}
public boolean shouldCheck() {
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/config/RegistryConfig.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/RegistryConfig.java
index 80c9996..f007b54 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/RegistryConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/RegistryConfig.java
@@ -220,7 +220,7 @@ public class RegistryConfig extends AbstractConfig {
this.address = address;
if (address != null) {
try {
- URL url = URL.valueOf(address, getScopeModel());
+ URL url = URL.valueOf(address);
// Refactor since 2.7.8
updatePropertyIfAbsent(this::getUsername, this::setUsername,
url.getUsername());
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java
b/dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java
index c283146..8e99615 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java
@@ -21,7 +21,6 @@ import org.apache.dubbo.common.utils.CollectionUtils;
import org.apache.dubbo.common.utils.StringUtils;
import org.apache.dubbo.config.annotation.Service;
import org.apache.dubbo.config.support.Parameter;
-import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.ServiceMetadata;
import org.apache.dubbo.rpc.service.GenericService;
import org.apache.dubbo.rpc.support.ProtocolUtils;
@@ -84,7 +83,6 @@ public abstract class ServiceConfigBase<T> extends
AbstractServiceConfig {
public ServiceConfigBase() {
serviceMetadata = new ServiceMetadata();
serviceMetadata.addAttribute("ORIGIN_CONFIG", this);
- setScopeModel(ApplicationModel.defaultModel().getDefaultModule());
}
public ServiceConfigBase(Service service) {
@@ -92,7 +90,6 @@ public abstract class ServiceConfigBase<T> extends
AbstractServiceConfig {
serviceMetadata.addAttribute("ORIGIN_CONFIG", this);
appendAnnotation(Service.class, service);
setMethods(MethodConfig.constructMethodConfig(service.methods()));
- setScopeModel(ApplicationModel.defaultModel().getDefaultModule());
}
@Deprecated