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
commit 8502691b6e3df5e58f5d7742e6a56663a46bf464 Author: gongdewei <[email protected]> AuthorDate: Tue Aug 31 14:51:21 2021 +0800 Fix scope model NPE --- .../main/java/org/apache/dubbo/rpc/model/ConsumerModel.java | 5 ++--- .../main/java/org/apache/dubbo/rpc/model/ProviderModel.java | 5 ++--- .../main/java/org/apache/dubbo/rpc/model/ServiceModel.java | 12 ++++-------- .../java/org/apache/dubbo/rpc/model/ServiceRepository.java | 4 ++-- .../main/java/org/apache/dubbo/config/ReferenceConfig.java | 2 +- .../src/main/java/org/apache/dubbo/config/ServiceConfig.java | 1 - 6 files changed, 11 insertions(+), 18 deletions(-) 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 701a228..f6df44d 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, referenceConfig.getScopeModel(), referenceConfig); + super(proxyObject, serviceKey, serviceModel, referenceConfig); Assert.notEmptyString(serviceKey, "Service name can't be null or blank"); this.methodConfigs = methodConfigs == null ? new HashMap<>() : methodConfigs; @@ -63,10 +63,9 @@ public class ConsumerModel extends ServiceModel { ServiceDescriptor serviceModel, ReferenceConfigBase<?> referenceConfig, ServiceMetadata metadata, - ModuleModel moduleModel, Map<String, AsyncMethodInfo> methodConfigs) { - super(proxyObject, serviceKey, serviceModel, moduleModel, referenceConfig, metadata); + super(proxyObject, serviceKey, serviceModel, referenceConfig, metadata); 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 9b0d25b..2aab894 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, serviceConfig.getScopeModel(), serviceConfig); + super(serviceInstance, serviceKey, serviceModel, serviceConfig); if (null == serviceInstance) { throw new IllegalArgumentException("Service[" + serviceKey + "]Target is NULL."); } @@ -49,10 +49,9 @@ public class ProviderModel extends ServiceModel { public ProviderModel(String serviceKey, Object serviceInstance, ServiceDescriptor serviceModel, - ModuleModel moduleModel, ServiceConfigBase<?> serviceConfig, ServiceMetadata serviceMetadata) { - super(serviceInstance, serviceKey, serviceModel, moduleModel, serviceConfig, serviceMetadata); + super(serviceInstance, serviceKey, serviceModel, serviceConfig, serviceMetadata); if (null == serviceInstance) { throw new IllegalArgumentException("Service[" + serviceKey + "]Target is NULL."); } diff --git a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ServiceModel.java b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ServiceModel.java index c70d43f..92c6fdc 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ServiceModel.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ServiceModel.java @@ -33,19 +33,15 @@ public class ServiceModel { private ServiceMetadata serviceMetadata; - public ServiceModel(Object proxyObject, String serviceKey, ServiceDescriptor serviceModel, ModuleModel moduleModel, AbstractInterfaceConfig config) { - this.proxyObject = proxyObject; - this.serviceKey = serviceKey; - this.serviceModel = serviceModel; - this.moduleModel = moduleModel; - this.config = config; + public ServiceModel(Object proxyObject, String serviceKey, ServiceDescriptor serviceModel, AbstractInterfaceConfig config) { + this(proxyObject, serviceKey, serviceModel, config, null); } - public ServiceModel(Object proxyObject, String serviceKey, ServiceDescriptor serviceModel, ModuleModel moduleModel, AbstractInterfaceConfig config, ServiceMetadata serviceMetadata) { + public ServiceModel(Object proxyObject, String serviceKey, ServiceDescriptor serviceModel, AbstractInterfaceConfig config, ServiceMetadata serviceMetadata) { this.proxyObject = proxyObject; this.serviceKey = serviceKey; this.serviceModel = serviceModel; - this.moduleModel = moduleModel; + this.moduleModel = ScopeModelUtil.getModuleModel(config != null ? config.getScopeModel() : null); this.config = config; this.serviceMetadata = serviceMetadata; } 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 8d605f8..c136593 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, rc.getScopeModel(), null); + serviceMetadata, 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, serviceConfig.getScopeModel(), + ProviderModel providerModel = new ProviderModel(serviceKey, serviceInstance, serviceModel, 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 9359e38..171745f 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 @@ -260,7 +260,7 @@ public class ReferenceConfig<T> extends ReferenceConfigBase<T> { ServiceRepository repository = getApplicationModel().getApplicationServiceRepository(); ServiceDescriptor serviceDescriptor = repository.registerService(interfaceClass); consumerModel = new ConsumerModel(serviceMetadata.getServiceKey(), proxy, serviceDescriptor, this, - serviceMetadata, getScopeModel(), createAsyncMethodInfo()); + serviceMetadata, createAsyncMethodInfo()); repository.registerConsumer(consumerModel); 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 0d7cc3c..8423ef0 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 @@ -361,7 +361,6 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> { providerModel = new ProviderModel(getUniqueServiceName(), ref, serviceDescriptor, - getScopeModel(), this, serviceMetadata);
