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/08/31 17:09:13 UTC
[dubbo] 03/04: Fix ut
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.0-multi-instances
in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit 99e238ad0cd58cb0acaa94aa532d6bc83b1dd1fb
Author: Albumen Kevin <jh...@gmail.com>
AuthorDate: Wed Sep 1 01:00:35 2021 +0800
Fix ut
---
.../dubbo/config/AbstractInterfaceConfig.java | 29 +++
.../org/apache/dubbo/config/ApplicationConfig.java | 10 +-
.../apache/dubbo/config/ReferenceConfigBase.java | 9 +
.../org/apache/dubbo/config/ServiceConfigBase.java | 9 +
.../apache/dubbo/rpc/model/ApplicationModel.java | 4 +
dubbo-config/dubbo-config-api/pom.xml | 5 +
.../org/apache/dubbo/config/ReferenceConfig.java | 1 -
.../dubbo/config/bootstrap/DubboBootstrap.java | 2 +-
.../apache/dubbo/config/ReferenceConfigTest.java | 206 +++++++--------------
.../bootstrap/DubboBootstrapMultiInstanceTest.java | 20 +-
.../dubbo/config/bootstrap/DubboBootstrapTest.java | 3 +-
...egistryCenterExportProviderIntegrationTest.java | 10 +-
...egistryCenterExportProviderIntegrationTest.java | 10 +-
.../spring/issues/issue7003/Issue7003Test.java | 2 +-
.../consumer/PropertyConfigurerTest.java | 2 +-
.../consumer2/PropertySourcesConfigurerTest.java | 2 +-
.../consumer3/PropertySourcesInJavaConfigTest.java | 7 +-
.../javaconfig/JavaConfigReferenceBeanTest.java | 3 -
.../apache/dubbo/metadata/ServiceNameMapping.java | 5 +
.../registry/client/DefaultServiceInstance.java | 1 -
.../registry/client/ServiceDiscoveryRegistry.java | 2 +-
.../ServiceInstanceMetadataCustomizer.java | 2 -
.../registry/integration/RegistryProtocol.java | 10 +-
.../registry/support/AbstractRegistryFactory.java | 2 +-
.../support/CacheableFailbackRegistry.java | 3 +
.../client/DefaultServiceInstanceTest.java | 2 +-
.../registry/client/InstanceAddressURLTest.java | 3 +-
.../client/ServiceDiscoveryRegistryTest.java | 3 +-
.../metadata/MetadataServiceNameMappingTest.java | 4 +-
.../ProtocolPortsMetadataCustomizerTest.java | 4 +-
.../ServiceInstanceMetadataCustomizerTest.java | 4 +-
.../client/migration/model/MigrationRuleTest.java | 42 +++--
.../zookeeper/util/CuratorFrameworkUtils.java | 2 +-
33 files changed, 213 insertions(+), 210 deletions(-)
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
index 3607df4..6acdfa7 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
@@ -28,6 +28,7 @@ import org.apache.dubbo.common.utils.ConfigUtils;
import org.apache.dubbo.common.utils.ReflectUtils;
import org.apache.dubbo.common.utils.StringUtils;
import org.apache.dubbo.config.support.Parameter;
+import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ServiceMetadata;
import java.lang.reflect.Method;
@@ -196,6 +197,34 @@ public abstract class AbstractInterfaceConfig extends AbstractMethodConfig {
return urls;
}
+ @Override
+ public void setScopeModel(ScopeModel scopeModel) {
+ super.setScopeModel(scopeModel);
+// ApplicationModel applicationModel = ScopeModelUtil.getApplicationModel(scopeModel);
+// if (this.configCenter != null && this.configCenter.getScopeModel() != applicationModel) {
+// this.configCenter.setScopeModel(applicationModel);
+// }
+// if (this.metadataReportConfig != null && this.metadataReportConfig.getScopeModel() != applicationModel) {
+// this.metadataReportConfig.setScopeModel(applicationModel);
+// }
+// if (this.metrics != null && this.metrics.getScopeModel() != applicationModel) {
+// this.metrics.setScopeModel(applicationModel);
+// }
+// if (this.monitor != null && this.monitor.getScopeModel() != applicationModel) {
+// this.monitor.setScopeModel(applicationModel);
+// }
+// if (this.metadataReportConfig != null && this.metadataReportConfig.getScopeModel() != applicationModel) {
+// this.metadataReportConfig.setScopeModel(applicationModel);
+// }
+// if (CollectionUtils.isNotEmpty(this.registries)) {
+// this.registries.forEach(registryConfig -> {
+// if (registryConfig.getScopeModel() != applicationModel) {
+// registryConfig.setScopeModel(applicationModel);
+// }
+// });
+// }
+ }
+
/**
* Check whether the registry config is exists, and then conversion it to {@link RegistryConfig}
*/
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/ApplicationConfig.java b/dubbo-common/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
index c5aebc6..d990ddb 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
@@ -33,17 +33,17 @@ import java.util.Map;
import java.util.Set;
import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_PROTOCOL_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_VERSION_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.DUBBO;
import static org.apache.dubbo.common.constants.CommonConstants.DUMP_DIRECTORY;
import static org.apache.dubbo.common.constants.CommonConstants.HOST_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.LIVENESS_PROBE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.METADATA_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.REGISTRY_LOCAL_FILE_CACHE_ENABLED;
-import static org.apache.dubbo.common.constants.CommonConstants.SHUTDOWN_WAIT_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_VERSION_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_PROTOCOL_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.METADATA_SERVICE_PORT_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.LIVENESS_PROBE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.READINESS_PROBE_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.REGISTRY_LOCAL_FILE_CACHE_ENABLED;
+import static org.apache.dubbo.common.constants.CommonConstants.SHUTDOWN_WAIT_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.STARTUP_PROBE;
import static org.apache.dubbo.common.constants.QosConstants.ACCEPT_FOREIGN_IP;
import static org.apache.dubbo.common.constants.QosConstants.QOS_ENABLE;
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 09abf83..525ccbc 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,6 +22,7 @@ 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.ScopeModel;
import org.apache.dubbo.rpc.model.ServiceMetadata;
import org.apache.dubbo.rpc.service.GenericService;
import org.apache.dubbo.rpc.support.ProtocolUtils;
@@ -200,6 +201,14 @@ public abstract class ReferenceConfigBase<T> extends AbstractReferenceConfig {
}
@Override
+ public void setScopeModel(ScopeModel scopeModel) {
+ super.setScopeModel(scopeModel);
+ if (this.consumer != null && this.consumer.getScopeModel() != scopeModel) {
+ this.consumer.setScopeModel(scopeModel);
+ }
+ }
+
+ @Override
public String getInterface() {
return interfaceName;
}
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 8e99615..6d61914 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,6 +21,7 @@ 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.ScopeModel;
import org.apache.dubbo.rpc.model.ServiceMetadata;
import org.apache.dubbo.rpc.service.GenericService;
import org.apache.dubbo.rpc.support.ProtocolUtils;
@@ -104,6 +105,14 @@ public abstract class ServiceConfigBase<T> extends AbstractServiceConfig {
return protocols;
}
+ @Override
+ public void setScopeModel(ScopeModel scopeModel) {
+ super.setScopeModel(scopeModel);
+ if (this.provider != null && this.provider.getScopeModel() != scopeModel) {
+ this.provider.setScopeModel(scopeModel);
+ }
+ }
+
@Deprecated
private static List<ProviderConfig> convertProtocolToProvider(List<ProtocolConfig> protocols) {
if (CollectionUtils.isEmpty(protocols)) {
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java
index da9591e..cd814ea 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java
@@ -101,6 +101,10 @@ public class ApplicationModel extends ScopeModel {
// TODO destroy application resources
}
+ public boolean isInit() {
+ return initFlag.get();
+ }
+
public FrameworkModel getFrameworkModel() {
return frameworkModel;
}
diff --git a/dubbo-config/dubbo-config-api/pom.xml b/dubbo-config/dubbo-config-api/pom.xml
index ad4220b..b8ea09d 100644
--- a/dubbo-config/dubbo-config-api/pom.xml
+++ b/dubbo-config/dubbo-config-api/pom.xml
@@ -52,6 +52,11 @@
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-rpc-api</artifactId>
+ <version>${project.parent.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-rpc-injvm</artifactId>
<version>${project.parent.version}</version>
</dependency>
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 2f2e4cc..fa022a0 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
@@ -44,7 +44,6 @@ import org.apache.dubbo.rpc.model.AsyncMethodInfo;
import org.apache.dubbo.rpc.model.ConsumerModel;
import org.apache.dubbo.rpc.model.ServiceDescriptor;
import org.apache.dubbo.rpc.model.ServiceRepository;
-import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.protocol.injvm.InjvmProtocol;
import org.apache.dubbo.rpc.service.GenericService;
import org.apache.dubbo.rpc.support.ProtocolUtils;
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java
index ec51a07..47b8029 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java
@@ -72,6 +72,7 @@ import org.apache.dubbo.registry.client.DefaultServiceInstance;
import org.apache.dubbo.registry.client.ServiceInstance;
import org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils;
import org.apache.dubbo.registry.client.metadata.store.InMemoryWritableMetadataService;
+import org.apache.dubbo.registry.client.metadata.store.RemoteMetadataServiceImpl;
import org.apache.dubbo.registry.support.AbstractRegistryFactory;
import org.apache.dubbo.rpc.Protocol;
import org.apache.dubbo.rpc.model.ApplicationModel;
@@ -114,7 +115,6 @@ import static org.apache.dubbo.common.utils.StringUtils.isNotEmpty;
import static org.apache.dubbo.metadata.MetadataConstants.DEFAULT_METADATA_PUBLISH_DELAY;
import static org.apache.dubbo.metadata.MetadataConstants.METADATA_PUBLISH_DELAY_KEY;
import static org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.calInstanceRevision;
-import static org.apache.dubbo.metadata.WritableMetadataService.getDefaultExtension;
import static org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.setMetadataStorageType;
import static org.apache.dubbo.registry.support.AbstractRegistryFactory.getServiceDiscoveries;
import static org.apache.dubbo.remoting.Constants.CLIENT_KEY;
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
index 84a9807..f8214ef 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
@@ -18,9 +18,6 @@ package org.apache.dubbo.config;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.Version;
-import org.apache.dubbo.common.config.CompositeConfiguration;
-import org.apache.dubbo.common.config.Configuration;
-import org.apache.dubbo.common.config.Environment;
import org.apache.dubbo.common.extension.ExtensionLoader;
import org.apache.dubbo.common.utils.ConfigUtils;
import org.apache.dubbo.common.utils.NetUtils;
@@ -30,87 +27,76 @@ import org.apache.dubbo.config.annotation.Method;
import org.apache.dubbo.config.annotation.Reference;
import org.apache.dubbo.config.api.DemoService;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
-import org.apache.dubbo.config.context.ConfigManager;
import org.apache.dubbo.config.provider.impl.DemoServiceImpl;
-
-import org.apache.dubbo.metadata.report.MetadataReport;
-import org.apache.dubbo.metadata.report.MetadataReportInstance;
import org.apache.dubbo.rpc.Exporter;
import org.apache.dubbo.rpc.ProxyFactory;
import org.apache.dubbo.rpc.listener.ListenerInvokerWrapper;
import org.apache.dubbo.rpc.model.ApplicationModel;
-
-import org.apache.curator.test.TestingServer;
-import org.apache.dubbo.rpc.model.ConsumerModel;
+import org.apache.dubbo.rpc.model.FrameworkModel;
import org.apache.dubbo.rpc.model.ServiceMetadata;
-import org.apache.dubbo.rpc.model.ServiceRepository;
import org.apache.dubbo.rpc.protocol.injvm.InjvmInvoker;
import org.apache.dubbo.rpc.protocol.injvm.InjvmProtocol;
+
+import org.apache.curator.test.TestingServer;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-import org.mockito.MockedStatic;
import org.mockito.Mockito;
import java.io.IOException;
import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.HashMap;
-import java.util.Collections;
-import java.util.Optional;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
-
-import static org.apache.dubbo.common.constants.CommonConstants.PID_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_VERSION_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.BROADCAST_CLUSTER;
import static org.apache.dubbo.common.constants.CommonConstants.CLUSTER_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.CONSUMER_SIDE;
-import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.INTERFACE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_METADATA_STORAGE_TYPE;
-import static org.apache.dubbo.common.constants.CommonConstants.METADATA_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.DUBBO_VERSION_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.RELEASE_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.TIMESTAMP_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.METRICS_PROTOCOL;
-import static org.apache.dubbo.common.constants.CommonConstants.METRICS_PORT;
-import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_VERSION_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.DUMP_DIRECTORY;
-import static org.apache.dubbo.common.constants.CommonConstants.REGISTRY_LOCAL_FILE_CACHE_ENABLED;
-import static org.apache.dubbo.common.constants.CommonConstants.METADATA_SERVICE_PORT_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.GENERIC_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.INTERFACE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.LIVENESS_PROBE_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.METADATA_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.METADATA_SERVICE_PORT_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.METHODS_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.METRICS_PORT;
+import static org.apache.dubbo.common.constants.CommonConstants.METRICS_PROTOCOL;
+import static org.apache.dubbo.common.constants.CommonConstants.PID_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.READINESS_PROBE_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.STARTUP_PROBE;
-import static org.apache.dubbo.common.constants.CommonConstants.URL_MERGE_PROCESSOR_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.REFER_THREAD_NUM_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.REFER_BACKGROUND_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.REFER_ASYNC_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.REFER_BACKGROUND_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.REFER_THREAD_NUM_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.REGISTRY_LOCAL_FILE_CACHE_ENABLED;
+import static org.apache.dubbo.common.constants.CommonConstants.RELEASE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.REVISION_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.METHODS_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.GENERIC_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.STARTUP_PROBE;
+import static org.apache.dubbo.common.constants.CommonConstants.TIMESTAMP_KEY;
+import static org.apache.dubbo.common.constants.CommonConstants.URL_MERGE_PROCESSOR_KEY;
+import static org.apache.dubbo.common.constants.QosConstants.ACCEPT_FOREIGN_IP;
import static org.apache.dubbo.common.constants.QosConstants.QOS_ENABLE;
import static org.apache.dubbo.common.constants.QosConstants.QOS_HOST;
import static org.apache.dubbo.common.constants.QosConstants.QOS_PORT;
-import static org.apache.dubbo.common.constants.QosConstants.ACCEPT_FOREIGN_IP;
import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_PUBLISH_INSTANCE_KEY;
import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_PUBLISH_INTERFACE_KEY;
-import static org.apache.dubbo.registry.Constants.ENABLE_CONFIGURATION_LISTEN;
import static org.apache.dubbo.registry.Constants.REGISTER_IP_KEY;
-import static org.apache.dubbo.rpc.Constants.SCOPE_REMOTE;
-import static org.apache.dubbo.rpc.Constants.LOCAL_PROTOCOL;
import static org.apache.dubbo.rpc.Constants.DEFAULT_STUB_EVENT;
import static org.apache.dubbo.rpc.Constants.LOCAL_KEY;
+import static org.apache.dubbo.rpc.Constants.LOCAL_PROTOCOL;
import static org.apache.dubbo.rpc.Constants.SCOPE_KEY;
import static org.apache.dubbo.rpc.Constants.SCOPE_LOCAL;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import static org.apache.dubbo.rpc.Constants.SCOPE_REMOTE;
public class ReferenceConfigTest {
private TestingServer zkServer;
@@ -144,24 +130,6 @@ public class ReferenceConfigTest {
@Test
public void testAppendConfig() {
- ReferenceConfig<DemoService> referenceConfig = new ReferenceConfig<>();
- referenceConfig.setClient("netty");
- referenceConfig.setGeneric(Boolean.FALSE.toString());
- referenceConfig.setProtocol("dubbo");
- referenceConfig.setInit(true);
- referenceConfig.setLazy(false);
- referenceConfig.setInjvm(false);
- referenceConfig.setReconnect("reconnect");
- referenceConfig.setSticky(false);
- referenceConfig.setStub(DEFAULT_STUB_EVENT);
- referenceConfig.setRouter("default");
- referenceConfig.setReferAsync(true);
-
- DubboBootstrap.getInstance()
- .application("application1")
- .initialize();
- referenceConfig.setBootstrap(DubboBootstrap.getInstance());
-
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName("application1");
applicationConfig.setVersion("v1");
@@ -193,6 +161,19 @@ public class ReferenceConfigTest {
applicationConfig.setReadinessProbe("readinessProb");
applicationConfig.setStartupProbe("startupProbe");
+ ReferenceConfig<DemoService> referenceConfig = new ReferenceConfig<>();
+ referenceConfig.setClient("netty");
+ referenceConfig.setGeneric(Boolean.FALSE.toString());
+ referenceConfig.setProtocol("dubbo");
+ referenceConfig.setInit(true);
+ referenceConfig.setLazy(false);
+ referenceConfig.setInjvm(false);
+ referenceConfig.setReconnect("reconnect");
+ referenceConfig.setSticky(false);
+ referenceConfig.setStub(DEFAULT_STUB_EVENT);
+ referenceConfig.setRouter("default");
+ referenceConfig.setReferAsync(true);
+
MonitorConfig monitorConfig = new MonitorConfig();
applicationConfig.setMonitor(monitorConfig);
@@ -220,7 +201,7 @@ public class ReferenceConfigTest {
referenceConfig.setConsumer(consumerConfig);
MethodConfig methodConfig = new MethodConfig();
- methodConfig.setName("method1");
+ methodConfig.setName("sayName");
methodConfig.setStat(1);
methodConfig.setRetries(0);
methodConfig.setExecutes(10);
@@ -231,41 +212,8 @@ public class ReferenceConfigTest {
methodConfig.setServiceId(DemoService.class.getName());
methodConfig.setParentPrefix("demo");
-
referenceConfig.setMethods(Collections.singletonList(methodConfig));
- ConfigManager configManager = mock(ConfigManager.class);
- Environment environment = mock(Environment.class);
- CompositeConfiguration compositeConfiguration = mock(CompositeConfiguration.class);
- Configuration dynamicGlobalConfiguration = mock(Configuration.class);
- ServiceRepository serviceRepository = mock(ServiceRepository.class);
- ConsumerModel consumerModel = mock(ConsumerModel.class);
-
- when(configManager.getApplicationOrElseThrow()).thenReturn(applicationConfig);
- when(configManager.getMetrics()).thenReturn(Optional.of(metricsConfig));
- when(configManager.getModule()).thenReturn(Optional.of(moduleConfig));
-
- MockedStatic<ApplicationModel> applicationModelMockedStatic = Mockito.mockStatic(ApplicationModel.class);
- applicationModelMockedStatic.when(ApplicationModel::getConfigManager).thenReturn(configManager);
- applicationModelMockedStatic.when(ApplicationModel::getEnvironment).thenReturn(environment);
- applicationModelMockedStatic.when(ApplicationModel::getServiceRepository).thenReturn(serviceRepository);
- when(environment.getConfiguration()).thenReturn(compositeConfiguration);
- when(environment.getDynamicGlobalConfiguration()).thenReturn(dynamicGlobalConfiguration);
- when(compositeConfiguration.convert(Boolean.class, ENABLE_CONFIGURATION_LISTEN, true))
- .thenReturn(true);
-
- MockedStatic<MetadataReportInstance> metadataReportInstanceMockedStatic =
- Mockito.mockStatic(MetadataReportInstance.class);
-
- MetadataReport metadataReport = mock(MetadataReport.class);
- metadataReportInstanceMockedStatic.when(() -> MetadataReportInstance.getMetadataReport("default"))
- .thenReturn(metadataReport);
-
-
- when(serviceRepository.lookupReferredService("org.apache.dubbo.config.api.DemoService"))
- .thenReturn(consumerModel);
-
- referenceConfig.refreshed.set(true);
referenceConfig.setInterface(DemoService.class);
referenceConfig.getInterfaceClass();
referenceConfig.setCheck(false);
@@ -277,6 +225,14 @@ public class ReferenceConfigTest {
referenceConfig.setRegistry(registry);
+ DubboBootstrap dubboBootstrap = DubboBootstrap.newInstance(FrameworkModel.defaultModel());
+ dubboBootstrap.application(applicationConfig)
+ .reference(referenceConfig)
+ .registry(registry)
+ .metrics(metricsConfig)
+ .module(moduleConfig)
+ .initialize();
+
referenceConfig.init();
ServiceMetadata serviceMetadata = referenceConfig.getServiceMetadata();
@@ -400,20 +356,20 @@ public class ReferenceConfigTest {
// verify additional method config
Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("name"));
Assertions.assertEquals(methodConfig.getStat().toString(),
- serviceMetadata.getAttachments().get("method1.stat"));
+ serviceMetadata.getAttachments().get("sayName.stat"));
Assertions.assertEquals(methodConfig.getRetries().toString(),
- serviceMetadata.getAttachments().get("method1.retries"));
- Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("method1.reliable"));
+ serviceMetadata.getAttachments().get("sayName.retries"));
+ Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("sayName.reliable"));
Assertions.assertEquals(methodConfig.getExecutes().toString(),
- serviceMetadata.getAttachments().get("method1.executes"));
+ serviceMetadata.getAttachments().get("sayName.executes"));
Assertions.assertEquals(methodConfig.getDeprecated().toString(),
- serviceMetadata.getAttachments().get("method1.deprecated"));
- Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("method1.stick"));
+ serviceMetadata.getAttachments().get("sayName.deprecated"));
+ Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("sayName.stick"));
Assertions.assertEquals(methodConfig.isReturn().toString(),
- serviceMetadata.getAttachments().get("method1.return"));
- Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("method1.service"));
- Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("method1.service.id"));
- Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("method1.parent.prefix"));
+ serviceMetadata.getAttachments().get("sayName.return"));
+ Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("sayName.service"));
+ Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("sayName.service.id"));
+ Assertions.assertFalse(serviceMetadata.getAttachments().containsKey("sayName.parent.prefix"));
// verify additional revision and methods parameter
Assertions.assertEquals(Version.getVersion(referenceConfig.getInterfaceClass(), referenceConfig.getVersion()),
@@ -422,8 +378,7 @@ public class ReferenceConfigTest {
Assertions.assertEquals(DemoService.class.getMethods().length,
StringUtils.split((String) serviceMetadata.getAttachments().get(METHODS_KEY), ',').length);
- applicationModelMockedStatic.closeOnDemand();
- metadataReportInstanceMockedStatic.closeOnDemand();
+ dubboBootstrap.stop();
}
@Test
@@ -494,11 +449,6 @@ public class ReferenceConfigTest {
ReferenceConfig<DemoService> referenceConfig = new ReferenceConfig<>();
referenceConfig.setScope(LOCAL_KEY);
- DubboBootstrap.getInstance()
- .application("application1")
- .initialize();
- referenceConfig.setBootstrap(DubboBootstrap.getInstance());
-
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName("application1");
Map<String, String> parameters = new HashMap<>();
@@ -506,40 +456,15 @@ public class ReferenceConfigTest {
parameters.put("key2", "value2");
applicationConfig.setParameters(parameters);
- ConfigManager configManager = mock(ConfigManager.class);
- Environment environment = mock(Environment.class);
- CompositeConfiguration compositeConfiguration = mock(CompositeConfiguration.class);
- Configuration dynamicGlobalConfiguration = mock(Configuration.class);
- ServiceRepository serviceRepository = mock(ServiceRepository.class);
- ConsumerModel consumerModel = mock(ConsumerModel.class);
-
- when(configManager.getApplicationOrElseThrow()).thenReturn(applicationConfig);
-
- MockedStatic<ApplicationModel> applicationModelMockedStatic = Mockito.mockStatic(ApplicationModel.class);
- applicationModelMockedStatic.when(ApplicationModel::getConfigManager).thenReturn(configManager);
- applicationModelMockedStatic.when(ApplicationModel::getEnvironment).thenReturn(environment);
- applicationModelMockedStatic.when(ApplicationModel::getServiceRepository).thenReturn(serviceRepository);
- when(environment.getConfiguration()).thenReturn(compositeConfiguration);
- when(environment.getDynamicGlobalConfiguration()).thenReturn(dynamicGlobalConfiguration);
- when(compositeConfiguration.convert(Boolean.class, ENABLE_CONFIGURATION_LISTEN, true))
- .thenReturn(true);
-
- MockedStatic<MetadataReportInstance> metadataReportInstanceMockedStatic =
- Mockito.mockStatic(MetadataReportInstance.class);
-
- MetadataReport metadataReport = mock(MetadataReport.class);
- metadataReportInstanceMockedStatic.when(() -> MetadataReportInstance.getMetadataReport("default"))
- .thenReturn(metadataReport);
-
-
- when(serviceRepository.lookupReferredService("org.apache.dubbo.config.api.DemoService"))
- .thenReturn(consumerModel);
-
- referenceConfig.refreshed.set(true);
referenceConfig.setInterface(DemoService.class);
referenceConfig.getInterfaceClass();
referenceConfig.setCheck(false);
+ DubboBootstrap dubboBootstrap = DubboBootstrap.newInstance(FrameworkModel.defaultModel());
+ dubboBootstrap.application(applicationConfig)
+ .reference(referenceConfig)
+ .initialize();
+
referenceConfig.init();
Assertions.assertTrue(referenceConfig.getInvoker() instanceof ListenerInvokerWrapper);
Assertions.assertTrue(((ListenerInvokerWrapper<?>) referenceConfig.getInvoker()).getInvoker() instanceof InjvmInvoker);
@@ -548,8 +473,7 @@ public class ReferenceConfigTest {
Assertions.assertEquals("value1", url.getParameter("key1"));
Assertions.assertEquals("value2", url.getParameter("key2"));
- applicationModelMockedStatic.closeOnDemand();
- metadataReportInstanceMockedStatic.closeOnDemand();
+ dubboBootstrap.stop();
}
@Test
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapMultiInstanceTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapMultiInstanceTest.java
index e7fb4fe..19fe85f 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapMultiInstanceTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapMultiInstanceTest.java
@@ -20,11 +20,13 @@ import org.apache.dubbo.common.utils.NetUtils;
import org.apache.dubbo.common.utils.StringUtils;
import org.apache.dubbo.config.ProtocolConfig;
import org.apache.dubbo.config.ReferenceConfig;
+import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.config.SysProps;
import org.apache.dubbo.config.api.DemoService;
import org.apache.dubbo.config.provider.impl.DemoServiceImpl;
-import org.apache.dubbo.registrycenter.DefaultSingleRegistryCenter;
+import org.apache.dubbo.registrycenter.RegistryCenter;
+import org.apache.dubbo.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.FrameworkModel;
@@ -36,12 +38,20 @@ import org.junit.jupiter.api.Test;
public class DubboBootstrapMultiInstanceTest {
- private static DefaultSingleRegistryCenter registryCenter;
+ private static ZookeeperSingleRegistryCenter registryCenter;
+
+ private static RegistryConfig registryConfig;
@BeforeAll
public static void setup() {
- registryCenter = new DefaultSingleRegistryCenter(NetUtils.getAvailablePort());
+ registryCenter = new ZookeeperSingleRegistryCenter(NetUtils.getAvailablePort());
registryCenter.startup();
+ RegistryCenter.Instance instance = registryCenter.getRegistryCenterInstance().get(0);
+ registryConfig = new RegistryConfig(String.format("%s://%s:%s",
+ instance.getType(),
+ instance.getHostname(),
+ instance.getPort()));
+
}
@AfterAll
@@ -126,7 +136,7 @@ public class DubboBootstrapMultiInstanceTest {
if (!dubboBootstrap.getConfigManager().getApplication().isPresent()) {
dubboBootstrap.application("consumer-app");
}
- dubboBootstrap.registry(registryCenter.getRegistryConfig())
+ dubboBootstrap.registry(registryConfig)
.reference(referenceConfig);
return dubboBootstrap;
}
@@ -150,7 +160,7 @@ public class DubboBootstrapMultiInstanceTest {
if (!dubboBootstrap.getConfigManager().getApplication().isPresent()) {
dubboBootstrap.application("provider-app");
}
- dubboBootstrap.registry(registryCenter.getRegistryConfig())
+ dubboBootstrap.registry(registryConfig)
.protocol(protocol1)
.service(serviceConfig);
return dubboBootstrap;
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapTest.java
index f873f41..68c92f3 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapTest.java
@@ -37,7 +37,6 @@ import org.apache.dubbo.metadata.MetadataService;
import org.apache.dubbo.metadata.WritableMetadataService;
import org.apache.dubbo.monitor.MonitorService;
import org.apache.dubbo.registry.RegistryService;
-import org.apache.dubbo.registry.client.metadata.MetadataUtils;
import org.apache.dubbo.rpc.Exporter;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol;
@@ -343,7 +342,7 @@ public class DubboBootstrapTest {
serviceConfig.setVersion(MetadataService.VERSION);
assertThat(exporters, hasEntry(is(serviceConfig.getUniqueServiceName() + ":" + availablePort), anything()));
- WritableMetadataService metadataService = MetadataUtils.getLocalMetadataService();
+ WritableMetadataService metadataService = WritableMetadataService.getDefaultExtension(ApplicationModel.defaultModel());
MetadataInfo metadataInfo = metadataService.getDefaultMetadataInfo();
Assertions.assertNotNull(metadataInfo);
if (shouldReport) {
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java
index 9eb749c..322d6da 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java
@@ -19,11 +19,11 @@ package org.apache.dubbo.integration.multiple.exportprovider;
import org.apache.dubbo.common.config.configcenter.ConfigItem;
import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.extension.ExtensionLoader;
-import org.apache.dubbo.config.RegistryConfig;
-import org.apache.dubbo.config.ServiceConfig;
-import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ProtocolConfig;
+import org.apache.dubbo.config.ReferenceConfig;
+import org.apache.dubbo.config.RegistryConfig;
+import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.config.ServiceListener;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.apache.dubbo.integration.IntegrationTest;
@@ -34,6 +34,8 @@ import org.apache.dubbo.registrycenter.RegistryCenter;
import org.apache.dubbo.registrycenter.ZookeeperMultipleRegistryCenter;
import org.apache.dubbo.rpc.ExporterListener;
import org.apache.dubbo.rpc.Filter;
+import org.apache.dubbo.rpc.model.ApplicationModel;
+
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
@@ -218,7 +220,7 @@ public class MultipleRegistryCenterExportProviderIntegrationTest implements Inte
// registryKey: the registryKey is the default cluster, CommonConstants.DEFAULT_KEY
// key: The exported interface's name
// group: the group is "mapping", ServiceNameMapping.DEFAULT_MAPPING_GROUP
- ConfigItem configItem = MetadataReportInstance.getMetadataReport(CommonConstants.DEFAULT_KEY)
+ ConfigItem configItem = ApplicationModel.defaultModel().getBeanFactory().getBean(MetadataReportInstance.class).getMetadataReport(CommonConstants.DEFAULT_KEY)
.getConfigItem(serviceConfig.getInterface()
, ServiceNameMapping.DEFAULT_MAPPING_GROUP);
// Check if the exported service (provider) is registered
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java
index 05378e7..ec806b9 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java
@@ -19,11 +19,11 @@ package org.apache.dubbo.integration.single.exportprovider;
import org.apache.dubbo.common.config.configcenter.ConfigItem;
import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.extension.ExtensionLoader;
-import org.apache.dubbo.config.RegistryConfig;
-import org.apache.dubbo.config.ServiceConfig;
-import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ProtocolConfig;
+import org.apache.dubbo.config.ReferenceConfig;
+import org.apache.dubbo.config.RegistryConfig;
+import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.config.ServiceListener;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.apache.dubbo.integration.IntegrationTest;
@@ -34,6 +34,8 @@ import org.apache.dubbo.registrycenter.RegistryCenter;
import org.apache.dubbo.registrycenter.ZookeeperMultipleRegistryCenter;
import org.apache.dubbo.rpc.ExporterListener;
import org.apache.dubbo.rpc.Filter;
+import org.apache.dubbo.rpc.model.ApplicationModel;
+
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
@@ -216,7 +218,7 @@ public class SingleRegistryCenterExportProviderIntegrationTest implements Integr
// registryKey: the registryKey is the default cluster, CommonConstants.DEFAULT_KEY
// key: The exported interface's name
// group: the group is "mapping", ServiceNameMapping.DEFAULT_MAPPING_GROUP
- ConfigItem configItem = MetadataReportInstance.getMetadataReport(CommonConstants.DEFAULT_KEY)
+ ConfigItem configItem = ApplicationModel.defaultModel().getBeanFactory().getBean(MetadataReportInstance.class).getMetadataReport(CommonConstants.DEFAULT_KEY)
.getConfigItem(serviceConfig.getInterface()
, ServiceNameMapping.DEFAULT_MAPPING_GROUP);
// Check if the exported service (provider) is registered
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/issues/issue7003/Issue7003Test.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/issues/issue7003/Issue7003Test.java
index e5714d4..75d6b7a 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/issues/issue7003/Issue7003Test.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/issues/issue7003/Issue7003Test.java
@@ -22,8 +22,8 @@ import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.apache.dubbo.config.spring.ReferenceBean;
import org.apache.dubbo.config.spring.api.HelloService;
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
-import org.apache.dubbo.config.spring.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.config.spring.registrycenter.RegistryCenter;
+import org.apache.dubbo.config.spring.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.junit.jupiter.api.AfterAll;
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer/PropertyConfigurerTest.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer/PropertyConfigurerTest.java
index 79d9ab5..099f8a7 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer/PropertyConfigurerTest.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer/PropertyConfigurerTest.java
@@ -20,8 +20,8 @@ import org.apache.dubbo.common.URL;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.apache.dubbo.config.spring.api.HelloService;
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
-import org.apache.dubbo.config.spring.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.config.spring.registrycenter.RegistryCenter;
+import org.apache.dubbo.config.spring.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.junit.jupiter.api.AfterAll;
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer2/PropertySourcesConfigurerTest.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer2/PropertySourcesConfigurerTest.java
index e3939e4..2cb92ff 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer2/PropertySourcesConfigurerTest.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer2/PropertySourcesConfigurerTest.java
@@ -21,8 +21,8 @@ import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.apache.dubbo.config.spring.api.HelloService;
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.apache.dubbo.config.spring.propertyconfigurer.consumer.DemoBeanFactoryPostProcessor;
-import org.apache.dubbo.config.spring.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.config.spring.registrycenter.RegistryCenter;
+import org.apache.dubbo.config.spring.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.junit.jupiter.api.AfterAll;
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer3/PropertySourcesInJavaConfigTest.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer3/PropertySourcesInJavaConfigTest.java
index be83282..b5b1a2d 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer3/PropertySourcesInJavaConfigTest.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/propertyconfigurer/consumer3/PropertySourcesInJavaConfigTest.java
@@ -21,11 +21,14 @@ import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.apache.dubbo.config.spring.api.HelloService;
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.apache.dubbo.config.spring.propertyconfigurer.consumer.DemoBeanFactoryPostProcessor;
-import org.apache.dubbo.config.spring.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.config.spring.registrycenter.RegistryCenter;
+import org.apache.dubbo.config.spring.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.rpc.model.ApplicationModel;
-import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/reference/javaconfig/JavaConfigReferenceBeanTest.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/reference/javaconfig/JavaConfigReferenceBeanTest.java
index 73ca355..cd65bb4 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/reference/javaconfig/JavaConfigReferenceBeanTest.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/reference/javaconfig/JavaConfigReferenceBeanTest.java
@@ -27,16 +27,13 @@ import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.apache.dubbo.config.spring.extension.SpringExtensionInjector;
import org.apache.dubbo.config.spring.impl.HelloServiceImpl;
import org.apache.dubbo.config.spring.reference.ReferenceBeanBuilder;
-import org.apache.dubbo.config.spring.registrycenter.ZooKeeperServer;
import org.apache.dubbo.config.spring.registrycenter.RegistryCenter;
import org.apache.dubbo.config.spring.registrycenter.ZookeeperMultipleRegistryCenter;
import org.apache.dubbo.rpc.service.GenericException;
import org.apache.dubbo.rpc.service.GenericService;
-import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
diff --git a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
index 6ecca68..fe5a933 100644
--- a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
+++ b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
@@ -19,6 +19,7 @@ package org.apache.dubbo.metadata;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.extension.SPI;
import org.apache.dubbo.common.utils.StringUtils;
+import org.apache.dubbo.rpc.model.ScopeModel;
import java.util.Arrays;
import java.util.HashSet;
@@ -54,6 +55,10 @@ public interface ServiceNameMapping {
return getExtensionLoader(ServiceNameMapping.class).getDefaultExtension();
}
+ static ServiceNameMapping getDefaultExtension(ScopeModel scopeModel) {
+ return scopeModel.getDefaultExtension(ServiceNameMapping.class);
+ }
+
static String buildMappingKey(URL url) {
return buildGroup(url.getServiceInterface());
}
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java
index bfdc191..483c862 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java
@@ -29,7 +29,6 @@ import java.util.Objects;
import java.util.SortedMap;
import java.util.TreeMap;
-import static org.apache.dubbo.common.constants.CommonConstants.REVISION_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.SCOPE_MODEL;
import static org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.ENDPOINTS;
import static org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.EXPORTED_SERVICES_REVISION_PROPERTY_NAME;
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
index 1eaa2dd..996962f 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
@@ -210,7 +210,7 @@ public class ServiceDiscoveryRegistry implements Registry {
Set<String> subscribedServices = Collections.emptySet();
try {
- ServiceNameMapping serviceNameMapping = ServiceNameMapping.getDefaultExtension();
+ ServiceNameMapping serviceNameMapping = ServiceNameMapping.getDefaultExtension(registryURL.getScopeModel());
subscribedServices = serviceNameMapping.getAndListenServices(registryURL, url, new DefaultMappingListener(url, subscribedServices, listener));
} catch (Exception e) {
logger.warn("Cannot find app mapping for service " + url.getServiceInterface() + ", will not migrate.", e);
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataCustomizer.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataCustomizer.java
index ea0723c..e238ea7 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataCustomizer.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataCustomizer.java
@@ -31,7 +31,6 @@ import org.apache.dubbo.rpc.model.ApplicationModel;
import java.util.Collections;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -76,7 +75,6 @@ public class ServiceInstanceMetadataCustomizer implements ServiceInstanceCustomi
}
MetadataInfo.ServiceInfo serviceInfo = metadataInfo.getServices().values().iterator().next();
URL url = serviceInfo.getUrl();
- List<MetadataParamsFilter> paramsFilters = loader.getActivateExtension(url, "params-filter");
Map<String, String> allParams = new HashMap<>(url.getParameters());
// load instance params users want to load.
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
index 25543bc..e687ff7 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
@@ -598,10 +598,12 @@ public class RegistryProtocol implements Protocol, ScopeModelAware {
}
for (ApplicationModel applicationModel : frameworkModel.getApplicationModels()) {
- if (applicationModel.getApplicationEnvironment().getConfiguration().convert(Boolean.class, org.apache.dubbo.registry.Constants.ENABLE_CONFIGURATION_LISTEN, true)) {
- applicationModel.getExtensionLoader(GovernanceRuleRepository.class).getDefaultExtension()
- .removeListener(applicationModel.getApplicationName() + CONFIGURATORS_SUFFIX,
- getProviderConfigurationListener(applicationModel));
+ if (applicationModel.isInit()) {
+ if (applicationModel.getApplicationEnvironment().getConfiguration().convert(Boolean.class, org.apache.dubbo.registry.Constants.ENABLE_CONFIGURATION_LISTEN, true)) {
+ applicationModel.getExtensionLoader(GovernanceRuleRepository.class).getDefaultExtension()
+ .removeListener(applicationModel.getApplicationName() + CONFIGURATORS_SUFFIX,
+ getProviderConfigurationListener(applicationModel));
+ }
}
}
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistryFactory.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistryFactory.java
index 169b51e..89710e1 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistryFactory.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistryFactory.java
@@ -37,9 +37,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
+import static org.apache.dubbo.common.constants.CommonConstants.CHECK_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.INTERFACE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.TIMESTAMP_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.CHECK_KEY;
import static org.apache.dubbo.rpc.cluster.Constants.EXPORT_KEY;
import static org.apache.dubbo.rpc.cluster.Constants.REFER_KEY;
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java
index e13d29d..c356cea 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java
@@ -32,6 +32,9 @@ import org.apache.dubbo.common.utils.CollectionUtils;
import org.apache.dubbo.common.utils.StringUtils;
import org.apache.dubbo.common.utils.UrlUtils;
import org.apache.dubbo.registry.NotifyListener;
+import org.apache.dubbo.registry.ProviderFirstParams;
+import org.apache.dubbo.rpc.model.ScopeModel;
+import org.apache.dubbo.rpc.model.ScopeModelUtil;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/DefaultServiceInstanceTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/DefaultServiceInstanceTest.java
index 13fde8e..8f073b4 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/DefaultServiceInstanceTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/DefaultServiceInstanceTest.java
@@ -94,7 +94,7 @@ public class DefaultServiceInstanceTest {
assertEquals("value", allParams2.get("key"));
// test equals
- DefaultServiceInstance instance2 = new DefaultServiceInstance("A", "127.0.0.1", 20880);
+ DefaultServiceInstance instance2 = new DefaultServiceInstance("A", "127.0.0.1", 20880, ApplicationModel.defaultModel());
instance2.setMetadata(new HashMap<>(instance.getMetadata()));
instance2.getMetadata().put(EXPORTED_SERVICES_REVISION_PROPERTY_NAME, "222");
// assert instances with different revision and extend params are equal
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/InstanceAddressURLTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/InstanceAddressURLTest.java
index 9ce1f03..6b3a0da 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/InstanceAddressURLTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/InstanceAddressURLTest.java
@@ -22,6 +22,7 @@ import org.apache.dubbo.common.utils.CollectionUtils;
import org.apache.dubbo.metadata.MetadataInfo;
import org.apache.dubbo.registry.ProviderFirstParams;
import org.apache.dubbo.rpc.RpcServiceContext;
+import org.apache.dubbo.rpc.model.ApplicationModel;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -64,7 +65,7 @@ public class InstanceAddressURLTest {
"&version=1.0.0&timeout=9000&a.timeout=8888&dubbo.tag=consumer&protocol=dubbo");
private DefaultServiceInstance createInstance() {
- DefaultServiceInstance instance = new DefaultServiceInstance("demo-provider", "127.0.0.1", 8080);
+ DefaultServiceInstance instance = new DefaultServiceInstance("demo-provider", "127.0.0.1", 8080, ApplicationModel.defaultModel());
Map<String, String> metadata = instance.getMetadata();
metadata.put("key1", "value1");
metadata.put("key2", "value2");
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryTest.java
index 2f5e047..31e7b37 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryTest.java
@@ -22,6 +22,7 @@ import org.apache.dubbo.metadata.WritableMetadataService;
import org.apache.dubbo.registry.NotifyListener;
import org.apache.dubbo.registry.client.event.listener.MockServiceInstancesChangedListener;
import org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener;
+import org.apache.dubbo.rpc.model.ApplicationModel;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
@@ -97,7 +98,7 @@ public class ServiceDiscoveryRegistryTest {
when(serviceDiscovery.createListener(any())).thenReturn(instanceListener);
when(serviceDiscovery.getInstances(any())).thenReturn(Collections.emptyList());
- spiedMetadataService = spy(WritableMetadataService.getDefaultExtension());
+ spiedMetadataService = spy(WritableMetadataService.getDefaultExtension(ApplicationModel.defaultModel()));
serviceDiscoveryRegistry = new ServiceDiscoveryRegistry(registryURL, serviceDiscovery, spiedMetadataService);
}
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMappingTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMappingTest.java
index 41b96e9..f710e56 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMappingTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMappingTest.java
@@ -71,7 +71,7 @@ public class MetadataServiceNameMappingTest {
try (MockedStatic<MetadataReportInstance> mockedMetadataHolder = Mockito.mockStatic(MetadataReportInstance.class)) {
when(configManager.getMetadataConfigs()).thenReturn(Arrays.asList(new MetadataReportConfig()));
- mockedMetadataHolder.when(() -> MetadataReportInstance.getMetadataReport(any())).thenReturn(metadataReport);
+ mockedMetadataHolder.when(() -> ApplicationModel.defaultModel().getBeanFactory().getBean(MetadataReportInstance.class).getMetadataReport(any())).thenReturn(metadataReport);
when(metadataReport.registerServiceAppMapping(any(), any(), any())).thenReturn(true);
// metadata report directly
@@ -116,7 +116,7 @@ public class MetadataServiceNameMappingTest {
Set<String> set = new HashSet<>();
set.add("app1");
try (MockedStatic<MetadataReportInstance> mockedMetadataHolder = Mockito.mockStatic(MetadataReportInstance.class)) {
- mockedMetadataHolder.when(() -> MetadataReportInstance.getMetadataReport(any())).thenReturn(metadataReport);
+ mockedMetadataHolder.when(() -> ApplicationModel.defaultModel().getBeanFactory().getBean(MetadataReportInstance.class).getMetadataReport(any())).thenReturn(metadataReport);
when(metadataReport.getServiceAppMapping(any(), any())).thenReturn(set);
Set<String> result = mapping.get(url);
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ProtocolPortsMetadataCustomizerTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ProtocolPortsMetadataCustomizerTest.java
index 1346a46..a402b96 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ProtocolPortsMetadataCustomizerTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ProtocolPortsMetadataCustomizerTest.java
@@ -53,7 +53,7 @@ public class ProtocolPortsMetadataCustomizerTest {
private InMemoryWritableMetadataService metadataService;
public static DefaultServiceInstance createInstance() {
- return new DefaultServiceInstance("A", "127.0.0.1", 20880);
+ return new DefaultServiceInstance("A", "127.0.0.1", 20880, ApplicationModel.defaultModel());
}
@BeforeAll
@@ -86,7 +86,7 @@ public class ProtocolPortsMetadataCustomizerTest {
public void test() {
ProtocolPortsMetadataCustomizer customizer = new ProtocolPortsMetadataCustomizer();
try (MockedStatic<WritableMetadataService> mockMetadataService = Mockito.mockStatic(WritableMetadataService.class)) {
- mockMetadataService.when(() -> WritableMetadataService.getDefaultExtension()).thenReturn(metadataService);
+ mockMetadataService.when(() -> WritableMetadataService.getDefaultExtension(ApplicationModel.defaultModel())).thenReturn(metadataService);
customizer.customize(instance);
String endpoints = instance.getMetadata().get(ENDPOINTS);
assertNotNull(endpoints);
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataCustomizerTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataCustomizerTest.java
index 8094a59..08e7c72 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataCustomizerTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataCustomizerTest.java
@@ -48,7 +48,7 @@ public class ServiceInstanceMetadataCustomizerTest {
private InMemoryWritableMetadataService metadataService;
public static DefaultServiceInstance createInstance() {
- return new DefaultServiceInstance("A", "127.0.0.1", 20880);
+ return new DefaultServiceInstance("A", "127.0.0.1", 20880, ApplicationModel.defaultModel());
}
@BeforeAll
@@ -81,7 +81,7 @@ public class ServiceInstanceMetadataCustomizerTest {
ServiceInstanceMetadataCustomizer customizer = new ServiceInstanceMetadataCustomizer();
try (MockedStatic<ConfigurationUtils> mockedUtils = Mockito.mockStatic(ConfigurationUtils.class)) {
try (MockedStatic<WritableMetadataService> mockMetadataService = Mockito.mockStatic(WritableMetadataService.class)) {
- mockMetadataService.when(() -> WritableMetadataService.getDefaultExtension()).thenReturn(metadataService);
+ mockMetadataService.when(() -> WritableMetadataService.getDefaultExtension(ApplicationModel.defaultModel())).thenReturn(metadataService);
mockedUtils.when(() -> ConfigurationUtils.getProperty(DUBBO_LABELS)).thenReturn("k1=v1;k2=v2");
// mockedUtils.when(() -> ConfigurationUtils.getProperty(DUBBO_ENV_KEYS)).thenReturn("ENV_KEY1;ENV_KEY1");
// mockedUtils.when(() -> ConfigurationUtils.getProperty(ENV_KEY1)).thenReturn("");
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java
index c89ebee..2ea3be6 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java
@@ -18,9 +18,10 @@ package org.apache.dubbo.registry.client.migration.model;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.metadata.ServiceNameMapping;
-
+import org.apache.dubbo.metadata.WritableMetadataService;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.ModuleModel;
+
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.MockedStatic;
@@ -79,12 +80,12 @@ public class MigrationRuleTest {
assertEquals(60, migrationRule.getDelay());
assertEquals(false, migrationRule.getForce());
- URL url = Mockito.mock(URL.class);
- ModuleModel defaultModule = ApplicationModel.defaultModel().getDefaultModule();
- url.setScopeModel(defaultModule);
- Mockito.when(url.getDisplayServiceKey()).thenReturn("DemoService:1.0.0");
- Mockito.when(url.getParameter(ArgumentMatchers.eq(REGISTRY_CLUSTER_TYPE_KEY), anyString())).thenReturn("default");
- Mockito.when(url.getParameter(ArgumentMatchers.eq(REGISTRY_CLUSTER_TYPE_KEY), anyString())).thenReturn("default");
+ URL url = Mockito.mock(URL.class);
+ ModuleModel defaultModule = ApplicationModel.defaultModel().getDefaultModule();
+ url.setScopeModel(defaultModule);
+ Mockito.when(url.getDisplayServiceKey()).thenReturn("DemoService:1.0.0");
+ Mockito.when(url.getParameter(ArgumentMatchers.eq(REGISTRY_CLUSTER_TYPE_KEY), anyString())).thenReturn("default");
+ Mockito.when(url.getParameter(ArgumentMatchers.eq(REGISTRY_CLUSTER_TYPE_KEY), anyString())).thenReturn("default");
assertEquals(migrationRule.getInterfaces().size(), 2);
@@ -101,19 +102,20 @@ public class MigrationRuleTest {
assertEquals(false, migrationRule.getForce(url));
assertEquals(MigrationStep.FORCE_APPLICATION, migrationRule.getStep(url));
- Mockito.when(url.getDisplayServiceKey()).thenReturn("GreetingService:1.0.1");
- Mockito.when(url.getServiceInterface()).thenReturn("GreetingService");
- WritableMetadataService metadataService = WritableMetadataService.getDefaultExtension(defaultModule);
- metadataService.putCachedMapping(ServiceNameMapping.buildMappingKey(url), Collections.singleton("TestApplication"));
+ Mockito.when(url.getDisplayServiceKey()).thenReturn("GreetingService:1.0.1");
+ Mockito.when(url.getServiceInterface()).thenReturn("GreetingService");
+ WritableMetadataService metadataService = WritableMetadataService.getDefaultExtension(defaultModule);
+ metadataService.putCachedMapping(ServiceNameMapping.buildMappingKey(url), Collections.singleton("TestApplication"));
- Set<String> services = new HashSet<>();
- services.add("TestApplication");
- when(mapping.getServices(any())).thenReturn(services);
- assertEquals(0.3f, migrationRule.getThreshold(url));
- assertEquals(20, migrationRule.getProportion(url));
- assertEquals(10, migrationRule.getDelay(url));
- assertEquals(false, migrationRule.getForce(url));
- assertEquals(MigrationStep.FORCE_INTERFACE, migrationRule.getStep(url));
- metadataService.removeCachedMapping("GreetingService");
+ Set<String> services = new HashSet<>();
+ services.add("TestApplication");
+ when(mapping.getServices(any())).thenReturn(services);
+ assertEquals(0.3f, migrationRule.getThreshold(url));
+ assertEquals(20, migrationRule.getProportion(url));
+ assertEquals(10, migrationRule.getDelay(url));
+ assertEquals(false, migrationRule.getForce(url));
+ assertEquals(MigrationStep.FORCE_INTERFACE, migrationRule.getStep(url));
+ metadataService.removeCachedMapping("GreetingService");
+ }
}
}
diff --git a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtils.java b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtils.java
index d7fd458..97e471f 100644
--- a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtils.java
+++ b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtils.java
@@ -16,7 +16,6 @@
*/
package org.apache.dubbo.registry.zookeeper.util;
-import org.apache.curator.framework.imps.CuratorFrameworkState;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.registry.client.DefaultServiceInstance;
import org.apache.dubbo.registry.client.ServiceInstance;
@@ -26,6 +25,7 @@ import org.apache.dubbo.rpc.model.ScopeModelUtil;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
+import org.apache.curator.framework.imps.CuratorFrameworkState;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.curator.x.discovery.ServiceDiscovery;
import org.apache.curator.x.discovery.ServiceDiscoveryBuilder;