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 2bf74de Fix scope model of reference/service model
2bf74de is described below
commit 2bf74de019a23e5ea5aa9a8b9141742b3668c754
Author: gongdewei <[email protected]>
AuthorDate: Tue Aug 31 11:47:29 2021 +0800
Fix scope model of reference/service model
---
.../org/apache/dubbo/config/AbstractMethodConfig.java | 15 +++++++++++++++
.../java/org/apache/dubbo/rpc/model/ConsumerModel.java | 2 +-
.../java/org/apache/dubbo/rpc/model/ProviderModel.java | 2 +-
.../org/apache/dubbo/rpc/model/ServiceRepository.java | 4 ++--
.../java/org/apache/dubbo/config/ReferenceConfig.java | 15 ---------------
.../main/java/org/apache/dubbo/config/ServiceConfig.java | 15 ---------------
6 files changed, 19 insertions(+), 34 deletions(-)
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 31c7abe..b234d98 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
@@ -18,6 +18,8 @@ package org.apache.dubbo.config;
import org.apache.dubbo.config.support.Parameter;
import org.apache.dubbo.rpc.model.ApplicationModel;
+import org.apache.dubbo.rpc.model.ModuleModel;
+import org.apache.dubbo.rpc.model.ScopeModel;
import java.util.Map;
@@ -100,6 +102,19 @@ public abstract class AbstractMethodConfig extends
AbstractConfig {
super(ApplicationModel.defaultModel().getDefaultModule());
}
+ @Override
+ public void setScopeModel(ScopeModel scopeModel) {
+ if (!(scopeModel instanceof ModuleModel)) {
+ throw new IllegalArgumentException("Invalid scope model, expect to
be a ModuleModel but got: " + scopeModel);
+ }
+ super.setScopeModel(scopeModel);
+ }
+
+ @Override
+ public ModuleModel getScopeModel() {
+ return (ModuleModel) scopeModel;
+ }
+
public Integer getForks() {
return forks;
}
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ConsumerModel.java
b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ConsumerModel.java
index 3158250..701a228 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ConsumerModel.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ConsumerModel.java
@@ -52,7 +52,7 @@ public class ConsumerModel extends ServiceModel {
ReferenceConfigBase<?> referenceConfig,
Map<String, AsyncMethodInfo> methodConfigs) {
- super(proxyObject, serviceKey, serviceModel,
ApplicationModel.defaultModel().getDefaultModule(), referenceConfig);
+ super(proxyObject, serviceKey, serviceModel,
referenceConfig.getScopeModel(), referenceConfig);
Assert.notEmptyString(serviceKey, "Service name can't be null or
blank");
this.methodConfigs = methodConfigs == null ? new HashMap<>() :
methodConfigs;
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ProviderModel.java
b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ProviderModel.java
index 2c506eb..9b0d25b 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ProviderModel.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ProviderModel.java
@@ -38,7 +38,7 @@ public class ProviderModel extends ServiceModel {
Object serviceInstance,
ServiceDescriptor serviceModel,
ServiceConfigBase<?> serviceConfig) {
- super(serviceInstance, serviceKey, serviceModel,
ApplicationModel.defaultModel().getDefaultModule(), serviceConfig);
+ super(serviceInstance, serviceKey, serviceModel,
serviceConfig.getScopeModel(), serviceConfig);
if (null == serviceInstance) {
throw new IllegalArgumentException("Service[" + serviceKey +
"]Target is NULL.");
}
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ServiceRepository.java
b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ServiceRepository.java
index 9b93c7b..8d605f8 100644
---
a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ServiceRepository.java
+++
b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ServiceRepository.java
@@ -111,7 +111,7 @@ public class ServiceRepository extends LifecycleAdapter
implements FrameworkExt,
Object proxy,
ServiceMetadata serviceMetadata) {
ConsumerModel consumerModel = new
ConsumerModel(serviceMetadata.getServiceKey(), proxy, serviceDescriptor, rc,
- serviceMetadata,
ApplicationModel.defaultModel().getDefaultModule(), null);
+ serviceMetadata, rc.getScopeModel(), null);
consumers.putIfAbsent(serviceKey, consumerModel);
}
@@ -132,7 +132,7 @@ public class ServiceRepository extends LifecycleAdapter
implements FrameworkExt,
ServiceDescriptor serviceModel,
ServiceConfigBase<?> serviceConfig,
ServiceMetadata serviceMetadata) {
- ProviderModel providerModel = new ProviderModel(serviceKey,
serviceInstance, serviceModel,
ApplicationModel.defaultModel().getDefaultModule(),
+ ProviderModel providerModel = new ProviderModel(serviceKey,
serviceInstance, serviceModel, serviceConfig.getScopeModel(),
serviceConfig, serviceMetadata);
providers.putIfAbsent(serviceKey, providerModel);
providersWithoutGroup.putIfAbsent(keyWithoutGroup(serviceKey),
providerModel);
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
index 01e89af..9359e38 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
@@ -40,11 +40,8 @@ import org.apache.dubbo.rpc.cluster.Cluster;
import org.apache.dubbo.rpc.cluster.directory.StaticDirectory;
import org.apache.dubbo.rpc.cluster.support.ClusterUtils;
import org.apache.dubbo.rpc.cluster.support.registry.ZoneAwareCluster;
-import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.AsyncMethodInfo;
import org.apache.dubbo.rpc.model.ConsumerModel;
-import org.apache.dubbo.rpc.model.ModuleModel;
-import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ServiceDescriptor;
import org.apache.dubbo.rpc.model.ServiceRepository;
import org.apache.dubbo.rpc.protocol.injvm.InjvmProtocol;
@@ -282,18 +279,6 @@ public class ReferenceConfig<T> extends
ReferenceConfigBase<T> {
checkInvokerAvailable();
}
- @Override
- public ModuleModel getScopeModel() {
- ScopeModel scopeModel = super.getScopeModel();
- if (scopeModel instanceof ApplicationModel) {
- return ((ApplicationModel) scopeModel).getDefaultModule();
- } else if (scopeModel instanceof ModuleModel) {
- return (ModuleModel) scopeModel;
- } else {
- throw new IllegalStateException("scope model is invalid: " +
scopeModel);
- }
- }
-
/**
* convert and aggregate async method info
*
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
index e287452..0d7cc3c 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
@@ -43,10 +43,7 @@ import org.apache.dubbo.rpc.Invoker;
import org.apache.dubbo.rpc.Protocol;
import org.apache.dubbo.rpc.ProxyFactory;
import org.apache.dubbo.rpc.cluster.ConfiguratorFactory;
-import org.apache.dubbo.rpc.model.ApplicationModel;
-import org.apache.dubbo.rpc.model.ModuleModel;
import org.apache.dubbo.rpc.model.ProviderModel;
-import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ServiceDescriptor;
import org.apache.dubbo.rpc.model.ServiceRepository;
import org.apache.dubbo.rpc.service.GenericService;
@@ -382,18 +379,6 @@ public class ServiceConfig<T> extends ServiceConfigBase<T>
{
}
}
- @Override
- public ModuleModel getScopeModel() {
- ScopeModel scopeModel = super.getScopeModel();
- if (scopeModel instanceof ApplicationModel) {
- return ((ApplicationModel) scopeModel).getDefaultModule();
- } else if (scopeModel instanceof ModuleModel) {
- return (ModuleModel) scopeModel;
- } else {
- throw new IllegalStateException("scope model is invalid: " +
scopeModel);
- }
- }
-
private void doExportUrlsFor1Protocol(ProtocolConfig protocolConfig,
List<URL> registryURLs) {
Map<String, String> map = buildAttributes(protocolConfig);