You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2021/12/07 04:20:46 UTC
[dubbo] branch 3.0-metadata-refactor updated (1448ebe -> 6c68481)
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a change to branch 3.0-metadata-refactor
in repository https://gitbox.apache.org/repos/asf/dubbo.git.
from 1448ebe Make sure instance refresh task can always be started.
new e15d2ae update demo
add ef2c0b3 [3.0-Triple] Add WriteQueue for Triple (#9160)
add 68381ba Fix MD5Utils concurrent error (#9176)
add 7c7ee62 Support upper case method (#9181)
add 6f158a0 Avoid blocking on FrameworkModel during destroying (#9189)
add 4efdb8f [3.0] Fix testDoRetry failure on windows (#9169)
add fa245c7 According to rfc3986, revise the logic of changing the authority in the URL (#9170)
add efa6900 [3.0] Add connectivity validation, router snapshot (#9112)
add 59ab2da [3.0] Fix MetadataService referProxy error #9190 (#9191)
add eaf2b3d [3.0-Triple] Fix bad state error when method not found (#9198)
add c5fc78f Add get raw invokers in Directory Support (#9205)
add ba173fd lazy init attributes in URL (#9201)
add d981788 change way to determine the port that metadata service will listen on (#9145)
add c1f29cd [3.0] Patch DefaultApplicationDeployer for delay exporting (#9183)
add c6e4279 fix MetadataService port conflict (#9184)
add 8273598 [3.0] Fix @DubboReference.consumer() lookup error (#9175)
add 502f565 cancel last retryFuture, destory listener after each test (#9186)
add 690d397 [3.0] Fix WelcomeLogoApplicationListener not triggered (#9192)
add 295f2a7 Fix flaky due to annotation order (#9123)
add c14347c Catch deploy error, improve module start waiting (#9204)
add 94e26b4 Add unit test for rpc-triple module (#9203)
add b2d308a enhance logs (#9214)
add 942ba9f [3.0] Pre-allocate map size in Directory (#9222)
add c51c1e8 [3.0] Print consumerURL parameters in ServiceAddressURL (#9221)
add 4ea9fea [3.0] Cache hashCode of URL to improve hash performance (#9220)
add 335bf5a [3.0] Reduce object creation when getting extensions (#9218)
add 57ab318 [3.0] Reduce array creation when routing (#9219)
add b06e5c2 [Feature] Support the global registry center in unit tests (#9138)
add bfef39b [3.0] release CPU to run StreamObserver methods (#9226)
add 0bb1098 Update Compressor.java (#9223)
add 988c00f Remove param directly return in RestService (#9233)
add c1bb96a Remove all method with param directly return in RestService (#9234)
add 8a14fb3 [3.0] allocate invokers space at initial time of AbstractDirectory, fix ConnectivityValidationTest (#9211)
add 3c62e94 optimize of ZookeeperDynamicConfigurationTest (#9215)
add 61e778f Clean dubbo-registry-consul and dubbo-demo-xml-provider-backend module (#9224)
add 3b9d6af [3.0] Ignore configFile get from dynamicConfiguration if disabled (#9241)
add 5a00ef4 InJvmInvoker copied RpcInvoker add targetServiceUniqueName (#9247)
add 838493c Fix netty ssl file leak (#9245)
add fb569c4 Add dubbo spring boot demo (#9244)
add a5f77c3 change zk server admin port to 1808x (#9269)
add 4fa0aa5 revert zk config for demo (#9281)
add 858f8a9 [3.0] Performance Optimization (#9282)
add 2d1f1ef Fix NPE when calculateState (#9287)
add 3469842 perf: Clear all TestingServer and replace it with global registry center. (#9231)
add 9f8ee68 [3.0] revert AbstractConfiguratorListener#genConfiguratorsFromRawRule (#9248)
add 83c466e Unify the constants into Constants class and abstract the statistical array into StatisticsItem (#9253)
add 837fb4a [3.0] Fix flaky tests caused by java getDeclaredAnnotations() (#9240)
add a1742da Fix config-center includeSpringEnv #9207 (#9266)
add 0ae2ccc optimization MigrationInvoker promotion (#9270) (#9271)
add f69c2f3 Fix nacos registry memory leak (#9261)
add b662264 Fix the problem of InvokeTelnet that user use [invoke sayHello(xxx)] without executing the cd command first (#9260)
add e6249b3 Optimize the code for a qos module and add unit test (#9275)
add f0f760c optimize annotation (#9277)
add 67322ae [3.0] Fix issue where dead connections would not be reconnected. (#9279)
add 4c443d9a fix wrong class name in package extension/ext6_wrap (#9280)
add fa675d4 fix: Fix the bug of downloading zk binary file (#9274)
add a70363e Add unit test for common-module and fix unregisterProvider method (#9288)
add cb34c92 [3.0] Limit the maximum number of lines for the clear command (#9289)
add 3cceefa Add test case for TripleProtocolTest and add unit test for [Unary]ClintStream, AbstractStream (#9236)
add b66509e [3.0] Refactor State Router (#9228)
add 686d357 [3.0] Ensure Concurrent Safe of Model & Change MetadataParamsFilter scope (#9309)
add cccd069 Revert MetadataParamsFilter Scope (#9311)
add 24bb3d9 Change to ConcurrentHashMap for CacheableFailbackRegistry (#9313)
add 16319c5 Add ScopeModel Constructor for Config (#9314)
add a72123a Add unit test for FrameworkModel/ApplicationModel/ModuleModel and add test case for ConfigManager (#9301)
add 98c8602 perf: Optimize the code on global zookeeper (#9302)
add 6f38fa6 fix: custom registry port (#9298)
add f459584 Add unit test for common-module (#9304)
add ef4cb63 Update Hessian Lite Version (#9326)
add 14a1d2e Including setup method to clean state between tests (#9265)
add 06b34dd Fix the problem that Curator[5]ZookeeperClient does not handle RegistryConfig#session value (#9317)
add 58c54c3 fix #9318 (#9321)
add ab26f9e optimize of DefaultFilterChainBuilder (#9324)
add 438b906 Remove duplicate code of ProviderConfig (#9325)
add 5349c13 Reduce memory allocation in ServiceDiscovery (#9328)
add 43d46d9 [3.0] Opt ServiceInstance Memory Usage (#9331)
add 72c8cba Add system properties to support allow non-serializable class (#9340)
add 503563b revert invoker check failed log (#9345)
add 8f66013 Remove unused Tri Header Enum (#9344)
add bc8cb85 set super class of AvailableCluster to AbstractCluster (#9351)
add 3b0038b fix UnsafeStringWriter constructor (#9353)
add 1908a38 delete duplicate code (#9356)
add 4226442 Use existing methods to generate serviceKey for SimpleReferenceCache (#9333)
add 8a7c360 remove StdErrLog from JettyHttpServer (#9052)
new 084113a Merge branch '3.0' into 3.0-metadata-refactor-merged
new a51bc86 fix merge conflicts
new 6c68481 Merge branch '3.0-metadata-refactor-merged' into 3.0-metadata-refactor
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.gitignore | 3 +
dubbo-cluster/pom.xml | 4 -
.../org/apache/dubbo/rpc/cluster/Constants.java | 4 -
.../org/apache/dubbo/rpc/cluster/Directory.java | 29 ++
.../java/org/apache/dubbo/rpc/cluster/Router.java | 23 +-
.../org/apache/dubbo/rpc/cluster/RouterChain.java | 278 ++++++------
.../rpc/cluster/directory/AbstractDirectory.java | 280 +++++++++++-
.../rpc/cluster/directory/StaticDirectory.java | 38 +-
.../cluster/filter/DefaultFilterChainBuilder.java | 7 +-
.../dubbo/rpc/cluster/router/RouterResult.java | 55 +++
.../rpc/cluster/router/RouterSnapshotNode.java | 117 +++++
...ditionRouter.java => ConditionStateRouter.java} | 54 ++-
...ctory.java => ConditionStateRouterFactory.java} | 13 +-
.../config/{AppRouter.java => AppStateRouter.java} | 4 +-
...uterFactory.java => AppStateRouterFactory.java} | 14 +-
...nableRouter.java => ListenableStateRouter.java} | 39 +-
.../router/condition/config/ServiceRouter.java | 2 +-
...Factory.java => ServiceStateRouterFactory.java} | 10 +-
...terFactory.java => FileStateRouterFactory.java} | 18 +-
.../cluster/router/mesh/route/MeshRuleRouter.java | 12 +-
.../cluster/router/mock/MockInvokersSelector.java | 79 ++--
...terFactory.java => MockStateRouterFactory.java} | 10 +-
.../{ScriptRouter.java => ScriptStateRouter.java} | 36 +-
...rFactory.java => ScriptStateRouterFactory.java} | 10 +-
.../cluster/router/state/AbstractStateRouter.java | 61 +--
.../dubbo/rpc/cluster/router/state/BitList.java | 484 +++++++++++++++------
.../router/state/CacheableStateRouterFactory.java | 12 +-
.../rpc/cluster/router/state/RouterCache.java | 49 ---
.../rpc/cluster/router/state/StateRouter.java | 54 +--
.../cluster/router/state/StateRouterFactory.java | 3 +-
.../{AddrCache.java => StateRouterResult.java} | 48 +-
.../cluster/router/tag/TagDynamicStateRouter.java | 260 -----------
.../tag/{TagRouter.java => TagStateRouter.java} | 67 +--
...uterFactory.java => TagStateRouterFactory.java} | 9 +-
.../cluster/router/tag/TagStaticStateRouter.java | 142 ------
.../cluster/support/AbstractClusterInvoker.java | 137 ++++--
.../rpc/cluster/support/AvailableCluster.java | 8 +-
.../support/wrapper/MockClusterInvoker.java | 2 +
.../org.apache.dubbo.rpc.cluster.RouterFactory | 6 -
...bbo.rpc.cluster.router.state.StateRouterFactory | 8 +-
.../apache/dubbo/rpc/cluster/RouterChainTest.java | 7 +-
.../rpc/cluster/directory/StaticDirectoryTest.java | 25 +-
.../loadbalance/ConsistentHashLoadBalanceTest.java | 8 +-
.../router/condition/ConditionRouterTest.java | 253 ++++++-----
.../cluster/router/file/FileRouterEngineTest.java | 18 +-
.../router/mesh/route/MeshRuleRouterTest.java | 19 +-
.../router/mock/MockInvokersSelectorTest.java | 11 +-
...tRouterTest.java => ScriptStateRouterTest.java} | 59 +--
.../rpc/cluster/router/state/BitListTest.java | 479 +++++++++++++++++++-
.../support/AbstractClusterInvokerTest.java | 11 +-
.../support/ConnectivityValidationTest.java | 323 ++++++++++++++
.../support/FailoverClusterInvokerTest.java | 10 +-
.../org.apache.dubbo.rpc.cluster.RouterFactory | 1 -
...bbo.rpc.cluster.router.state.StateRouterFactory | 1 +
.../apache/dubbo/common/BaseServiceMetadata.java | 4 +-
.../src/main/java/org/apache/dubbo/common/URL.java | 112 +++--
.../common/beans/ScopeBeanExtensionInjector.java | 1 +
.../common/beans/factory/ScopeBeanFactory.java | 4 +-
.../beans/support/InstantiationStrategy.java | 2 +-
.../common/config/CompositeConfiguration.java | 4 +-
.../apache/dubbo/common/config/Environment.java | 9 +-
.../config/OrderedPropertiesConfiguration.java | 10 +-
.../dubbo/common/constants/CommonConstants.java | 17 +-
.../dubbo/common/deploy/AbstractDeployer.java | 12 +-
.../org/apache/dubbo/common/deploy/Deployer.java | 1 +
.../dubbo/common/extension/ExtensionDirector.java | 9 +-
.../dubbo/common/extension/ExtensionLoader.java | 38 +-
.../dubbo/common/extension/LoadingStrategy.java | 4 +-
.../extension/inject/SpiExtensionInjector.java | 1 +
.../extension/support/ActivateComparator.java | 10 +-
.../org/apache/dubbo/common/io/StreamUtils.java | 4 +-
.../common/io/UnsafeByteArrayOutputStream.java | 16 +-
.../apache/dubbo/common/io/UnsafeStringWriter.java | 4 +-
.../dubbo/common/lang/ShutdownHookCallbacks.java | 2 +-
.../common/resource/GlobalResourcesRepository.java | 22 +-
.../reporter/FrameworkStatusReportService.java | 12 +-
.../dubbo/common/threadlocal/InternalRunnable.java | 2 +-
.../manager/DefaultExecutorRepository.java | 32 +-
.../threadpool/manager/ExecutorRepository.java | 7 +
.../threadpool/serial/SerializingExecutor.java | 2 +-
.../dubbo/common/timer/HashedWheelTimer.java | 4 +-
.../common/url/component/ServiceAddressURL.java | 6 +
.../common/url/component/ServiceConfigURL.java | 14 +-
.../dubbo/common/url/component/URLAddress.java | 2 +-
.../common/utils/ClassLoaderResourceLoader.java | 18 +-
.../org/apache/dubbo/common/utils/ConfigUtils.java | 10 +-
.../org/apache/dubbo/common/utils/MD5Utils.java | 19 +-
.../dubbo/config/AbstractInterfaceConfig.java | 7 +
.../apache/dubbo/config/AbstractMethodConfig.java | 4 +
.../dubbo/config/AbstractReferenceConfig.java | 8 +
.../apache/dubbo/config/AbstractServiceConfig.java | 8 +
.../org/apache/dubbo/config/ApplicationConfig.java | 4 +
.../apache/dubbo/config/ConfigCenterConfig.java | 5 +
.../org/apache/dubbo/config/ConsumerConfig.java | 9 +
.../apache/dubbo/config/MetadataReportConfig.java | 10 +
.../java/org/apache/dubbo/config/MethodConfig.java | 5 +
.../org/apache/dubbo/config/MetricsConfig.java | 6 +-
.../java/org/apache/dubbo/config/ModuleConfig.java | 9 +
.../org/apache/dubbo/config/MonitorConfig.java | 10 +
.../org/apache/dubbo/config/ProtocolConfig.java | 57 +--
.../org/apache/dubbo/config/ProviderConfig.java | 74 +---
.../apache/dubbo/config/ReferenceConfigBase.java | 15 +
.../org/apache/dubbo/config/RegistryConfig.java | 18 +-
.../org/apache/dubbo/config/ServiceConfigBase.java | 16 +-
.../java/org/apache/dubbo/config/SslConfig.java | 8 +
.../dubbo/config/annotation/DubboReference.java | 4 +-
.../dubbo/config/annotation/DubboService.java | 2 +-
.../config/context/AbstractConfigManager.java | 17 +-
.../apache/dubbo/config/context/ConfigManager.java | 2 +-
.../dubbo/config/context/ModuleConfigManager.java | 126 +++++-
.../apache/dubbo/rpc/model/ApplicationModel.java | 5 +-
.../org/apache/dubbo/rpc/model/FrameworkModel.java | 62 +--
.../rpc/model/FrameworkServiceRepository.java | 13 +-
.../apache/dubbo/rpc/model/MethodDescriptor.java | 3 -
.../org/apache/dubbo/rpc/model/ScopeModel.java | 4 +
.../model/ScopeModelAwareExtensionProcessor.java | 2 +-
.../apache/dubbo/rpc/model/ServiceMetadata.java | 2 +-
.../common/CommonScopeModelInitializerTest.java | 62 +++
.../test/java/org/apache/dubbo/common/URLTest.java | 76 +++-
.../common/config/CompositeConfigurationTest.java | 21 +-
...rationTest.java => ConfigurationCacheTest.java} | 18 +-
.../dubbo/common/config/EnvironmentTest.java | 63 ++-
...ava => OrderedPropertiesConfigurationTest.java} | 5 +-
.../common/config/PropertiesConfigurationTest.java | 26 +-
.../file/FileSystemDynamicConfigurationTest.java | 5 +-
.../common/extension/ExtensionLoaderTest.java | 22 +-
.../impl/{Ext5Impl1.java => Ext6Impl1.java} | 4 +-
.../impl/{Ext5Impl2.java => Ext6Impl2.java} | 4 +-
.../impl/{Ext5Wrapper1.java => Ext6Wrapper1.java} | 4 +-
.../impl/{Ext5Wrapper2.java => Ext6Wrapper2.java} | 4 +-
.../inject/AdaptiveExtensionInjectorTest.java | 58 +++
.../dubbo/common/io/UnsafeStringWriterTest.java | 4 +-
.../resource/GlobalResourcesRepositoryTest.java | 77 ++++
.../reporter/FrameworkStatusReportServiceTest.java | 106 +++++
.../reporter/MockFrameworkStatusReporter.java | 22 +-
.../threadlocal/InternalThreadLocalTest.java | 6 +
.../dubbo/common/utils/AnnotationUtilsTest.java | 74 ++--
.../utils/ClassLoaderResourceLoaderTest.java | 58 +++
.../apache/dubbo/common/utils/ConfigUtilsTest.java | 10 +
.../apache/dubbo/common/utils/MD5UtilsTest.java | 95 ++++
.../context/ConfigConfigurationAdapterTest.java} | 25 +-
.../dubbo/config/context/ConfigManagerTest.java | 104 ++++-
.../dubbo/rpc/model/ApplicationModelTest.java | 146 +++++++
.../apache/dubbo/rpc/model/FrameworkModelTest.java | 106 +++++
.../rpc/model/FrameworkServiceRepositoryTest.java | 113 +++++
.../apache/dubbo/rpc/model/ModuleModelTest.java | 89 ++++
.../rpc/model/ModuleServiceRepositoryTest.java | 113 +++++
.../ScopeModelAwareExtensionProcessorTest.java | 78 ++++
.../org/apache/dubbo/rpc/model/ScopeModelTest.java | 9 +-
.../apache/dubbo/rpc/model/ScopeModelUtilTest.java | 114 +++++
.../dubbo/rpc/model/ServiceRepositoryTest.java | 90 ++++
.../support/DemoService.java} | 8 +-
.../support/DemoServiceImpl.java} | 11 +-
.../dubbo/rpc/support/MockScopeModelAware.java | 72 +++
.../support/MockScopeModelDestroyListener.java} | 26 +-
...che.dubbo.common.extension.ext6_wrap.WrappedExt | 8 +-
....common.status.reporter.FrameworkStatusReporter | 1 +
.../src/test/resources/dubbo-migration.yaml | 6 +-
.../main/java/com/alibaba/dubbo/common/URL.java | 5 +-
dubbo-config/dubbo-config-api/pom.xml | 12 -
.../org/apache/dubbo/config/ReferenceConfig.java | 21 +-
.../org/apache/dubbo/config/ServiceConfig.java | 28 +-
.../config/deploy/DefaultApplicationDeployer.java | 177 +++++---
.../dubbo/config/deploy/DefaultModuleDeployer.java | 63 ++-
.../invoker/DelegateProviderMetaDataInvoker.java | 3 +-
.../dubbo/config/utils/SimpleReferenceCache.java | 13 +-
.../dubbo/config/AbstractReferenceConfigTest.java | 19 +-
.../dubbo/config/ConfigCenterConfigTest.java | 13 +-
.../config/ConfigScopeModelInitializerTest.java} | 37 +-
.../apache/dubbo/config/ReferenceConfigTest.java | 19 +-
.../apache/dubbo/config/RegistryConfigTest.java | 7 +-
.../dubbo/config/bootstrap/DubboBootstrapTest.java | 32 +-
.../bootstrap/DubboServiceConsumerBootstrap.java | 5 +-
.../bootstrap/DubboServiceProviderBootstrap.java | 7 +-
.../DubboServiceProviderMinimumBootstrap.java | 3 +-
.../dubbo/config/bootstrap/MultiInstanceTest.java | 44 +-
.../ZookeeperDubboServiceConsumerBootstrap.java | 3 +-
.../DubboInterfaceConsumerBootstrap.java | 3 +-
.../AbstractRegistryCenterExporterListener.java | 2 +-
.../AbstractRegistryCenterServiceListener.java | 2 +-
.../dubbo/{ => config}/integration/Constants.java | 2 +-
.../{ => config}/integration/IntegrationTest.java | 2 +-
.../integration/multiple/AbstractStorage.java | 2 +-
.../{ => config}/integration/multiple/Storage.java | 2 +-
...gistryCenterExportMetadataExporterListener.java | 4 +-
...egistryCenterExportMetadataIntegrationTest.java | 25 +-
...ultipleRegistryCenterExportMetadataService.java | 2 +-
...pleRegistryCenterExportMetadataServiceImpl.java | 2 +-
...egistryCenterExportMetadataServiceListener.java | 4 +-
...gistryCenterExportProviderExporterListener.java | 4 +-
...MultipleRegistryCenterExportProviderFilter.java | 2 +-
...egistryCenterExportProviderIntegrationTest.java | 27 +-
...nterExportProviderRegistryProtocolListener.java | 2 +-
...ultipleRegistryCenterExportProviderService.java | 2 +-
...pleRegistryCenterExportProviderServiceImpl.java | 2 +-
...egistryCenterExportProviderServiceListener.java | 4 +-
...ultipleRegistryCenterInjvmExporterListener.java | 4 +-
.../injvm/MultipleRegistryCenterInjvmFilter.java | 2 +-
...MultipleRegistryCenterInjvmIntegrationTest.java | 29 +-
.../injvm/MultipleRegistryCenterInjvmService.java | 2 +-
.../MultipleRegistryCenterInjvmServiceImpl.java | 2 +-
...MultipleRegistryCenterInjvmServiceListener.java | 4 +-
.../integration/multiple/package-info.java | 2 +-
...terServiceDiscoveryRegistryIntegrationTest.java | 47 +-
...ceDiscoveryRegistryRegistryServiceListener.java | 4 +-
...istryCenterServiceDiscoveryRegistryService.java | 2 +-
...yCenterServiceDiscoveryRegistryServiceImpl.java | 2 +-
.../ServiceDiscoveryRegistryInfoWrapper.java | 2 +-
.../ServiceDiscoveryRegistryStorage.java | 4 +-
...RegistryCenterDubboProtocolIntegrationTest.java | 24 +-
...ingleRegistryCenterExportedServiceListener.java | 4 +-
.../SingleRegistryCenterIntegrationService.java | 2 +-
...SingleRegistryCenterIntegrationServiceImpl.java | 2 +-
...gistryCenterExportMetadataExporterListener.java | 4 +-
...egistryCenterExportMetadataIntegrationTest.java | 23 +-
.../SingleRegistryCenterExportMetadataService.java | 2 +-
...gleRegistryCenterExportMetadataServiceImpl.java | 2 +-
...egistryCenterExportMetadataServiceListener.java | 4 +-
...gistryCenterExportProviderExporterListener.java | 4 +-
.../SingleRegistryCenterExportProviderFilter.java | 2 +-
...egistryCenterExportProviderIntegrationTest.java | 24 +-
...nterExportProviderRegistryProtocolListener.java | 4 +-
.../SingleRegistryCenterExportProviderService.java | 2 +-
...gleRegistryCenterExportProviderServiceImpl.java | 2 +-
...egistryCenterExportProviderServiceListener.java | 4 +-
.../SingleRegistryCenterInjvmExporterListener.java | 4 +-
.../injvm/SingleRegistryCenterInjvmFilter.java | 2 +-
.../SingleRegistryCenterInjvmIntegrationTest.java | 23 +-
.../injvm/SingleRegistryCenterInjvmService.java | 2 +-
.../SingleRegistryCenterInjvmServiceImpl.java | 2 +-
.../SingleRegistryCenterInjvmServiceListener.java | 4 +-
.../integration/single/package-info.java | 2 +-
.../dubbo/config/mock/MockServiceDiscovery.java | 4 +-
.../metadata/MetadataServiceExporterTest.java | 435 +++++++++---------
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../dubbo/registrycenter/RegistryCenter.java | 70 ---
.../ZookeeperMultipleRegistryCenter.java | 45 --
.../registrycenter/ZookeeperRegistryCenter.java | 142 ------
.../org.apache.dubbo.config.ServiceListener | 14 +-
...g.apache.dubbo.registry.RegistryServiceListener | 2 +-
...o.registry.integration.RegistryProtocolListener | 4 +-
.../services/org.apache.dubbo.rpc.ExporterListener | 12 +-
.../META-INF/services/org.apache.dubbo.rpc.Filter | 8 +-
dubbo-config/dubbo-config-spring/pom.xml | 22 -
.../dubbo/config/spring/ConfigCenterBean.java | 9 +
.../apache/dubbo/config/spring/ServiceBean.java | 11 +
.../config/spring/SpringScopeModelInitializer.java | 3 +-
.../annotation/ServiceAnnotationPostProcessor.java | 10 +-
.../spring/context/DubboConfigBeanInitializer.java | 12 +-
.../config/spring/reference/ReferenceCreator.java | 139 ++----
.../org/apache/dubbo/config/spring/ConfigTest.java | 15 -
.../dubbo/config/spring/JavaConfigBeanTest.java | 19 +-
.../annotation/MethodConfigCallbackTest.java | 9 +-
.../factory/annotation/ReferenceCreatorTest.java | 40 +-
.../XmlReferenceBeanConditionalTest.java | 7 -
...nfigAnnotationReferenceBeanConditionalTest.java | 7 -
.../JavaConfigRawReferenceBeanConditionalTest.java | 7 -
.../JavaConfigReferenceBeanConditionalTest4.java | 7 -
.../configprops/SpringBootConfigPropsTest.java | 64 ++-
.../SpringBootMultipleConfigPropsTest.java | 17 +-
.../importxml/SpringBootImportDubboXmlTest.java | 7 -
.../annotation/DubboConfigConfigurationTest.java | 24 +-
.../context/annotation/EnableDubboConfigTest.java | 7 -
.../customize/DubboSpringInitCustomizerTest.java | 11 +-
.../spring/issues/issue6000/Issue6000Test.java | 7 -
.../spring/issues/issue6252/Issue6252Test.java | 7 -
.../spring/issues/issue7003/Issue7003Test.java | 7 -
.../issue9172/MultipleConsumerAndProviderTest.java | 105 +++++
.../issues/issue9207/ConfigCenterBeanTest.java | 108 +++++
.../consumer/PropertyConfigurerTest.java | 7 -
.../propertyconfigurer/consumer/app.properties | 2 +-
.../propertyconfigurer/consumer/dubbo-consumer.xml | 2 +-
.../consumer2/PropertySourcesConfigurerTest.java | 7 -
.../propertyconfigurer/consumer2/app.properties | 2 +-
.../consumer2/dubbo-consumer.xml | 2 +-
.../consumer3/PropertySourcesInJavaConfigTest.java | 16 -
.../propertyconfigurer/consumer3/app.properties | 2 +-
.../consumer3/dubbo-consumer.xml | 2 +-
.../propertyconfigurer/provider/app.properties | 6 +-
.../reference/DubboConfigBeanInitializerTest.java | 8 +-
.../config/spring/reference/ReferenceKeyTest.java | 18 -
.../javaconfig/JavaConfigReferenceBeanTest.java | 19 -
.../reference/javaconfig/consumer.properties | 2 +-
.../spring/reference/localcall/LocalCallTest.java | 8 -
.../spring/reference/localcall/LocalCallTest2.java | 7 -
.../reference/localcall/local-call-provider.xml | 2 +-
.../LocalCallMultipleReferenceAnnotationsTest.java | 12 -
.../localcallam/local-call-config.properties | 2 +-
.../spring/registry/MockServiceDiscovery.java | 4 +-
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../spring/registrycenter/RegistryCenter.java | 75 ----
.../ZookeeperMultipleRegistryCenter.java | 43 --
.../registrycenter/ZookeeperRegistryCenter.java | 147 -------
.../ZookeeperSingleRegistryCenter.java | 44 --
.../config/spring/schema/GenericServiceTest.java | 7 -
.../schema/GenericServiceWithoutInterfaceTest.java | 7 -
.../META-INF/issues/issue6000/config.properties | 2 +-
.../META-INF/issues/issue6252/config.properties | 4 +-
.../META-INF/issues/issue7003/config.properties | 2 +-
.../META-INF/issues/issue9172/consumer.properties | 30 ++
.../META-INF/issues/issue9172/provider.properties | 24 +
.../dubbo-properties-in-configcenter.properties | 6 +-
.../zookeeper-dubbb-consumer.properties | 2 +-
.../zookeeper-dubbb-provider.properties | 2 +-
.../zookeeper-dubbo-consumer.xml | 4 +-
.../dubbo-generic-consumer-without-interface.xml | 2 +-
.../META-INF/spring/dubbo-generic-consumer.xml | 2 +-
.../support/apollo/ApolloDynamicConfiguration.java | 66 +--
.../support/nacos/NacosDynamicConfiguration.java | 4 +-
.../dubbo-configcenter-zookeeper/pom.xml | 5 -
.../ZookeeperDynamicConfigurationTest.java | 98 ++---
.../resources/spring/dubbo-consumer.properties | 1 +
.../resources/spring/dubbo-provider.properties | 2 +-
.../apache/dubbo/demo/consumer/Application.java | 13 +-
.../apache/dubbo/demo/provider/Application.java | 3 +
.../dubbo/demo/consumer/GenericApplication.java | 2 +
.../dubbo/demo/graalvm/consumer/Application.java | 17 +-
.../dubbo/demo/graalvm/provider/Application.java | 15 +-
.../dubbo-demo-spring-boot-consumer}/pom.xml | 90 ++--
.../demo/consumer/ConsumerApplication.java | 47 ++
.../src/main/resources/application.yml | 29 ++
.../src/main/resources/log4j.properties | 0
.../dubbo-demo-spring-boot-interface}/pom.xml | 20 +-
.../apache/dubbo/springboot/demo/DemoService.java | 13 +-
.../dubbo-demo-spring-boot-provider}/pom.xml | 91 ++--
.../springboot/demo/provider/DemoServiceImpl.java | 21 +-
.../demo/provider/ProviderApplication.java} | 20 +-
.../src/main/resources/application.yml | 29 ++
.../src/main/resources/log4j.properties | 0
.../dubbo-demo-spring-boot}/pom.xml | 28 +-
.../apache/dubbo/demo/consumer/ApiConsumer.java | 12 +-
.../dubbo/demo/consumer/ApiWrapperConsumer.java | 9 +-
.../apache/dubbo/demo/provider/ApiProvider.java | 10 +-
.../dubbo/demo/provider/ApiWrapperProvider.java | 10 +-
.../src/main/resources/spring/dubbo-consumer.xml | 4 +
.../demo/provider/chain/ChainServiceImpl.java | 33 --
.../src/main/resources/dubbo.properties | 1 -
.../main/resources/spring/dubbo-provider-chain.xml | 35 --
.../src/main/resources/spring/dubbo-provider.xml | 8 +-
dubbo-demo/pom.xml | 1 +
dubbo-dependencies-bom/pom.xml | 20 +-
dubbo-distribution/dubbo-all/pom.xml | 4 -
dubbo-metadata/dubbo-metadata-api/pom.xml | 6 -
.../apache/dubbo/metadata/RevisionResolver.java | 4 +-
.../dubbo/metadata/rest/SpringRestService.java | 10 +-
.../dubbo/metadata/rest/SpringRestService.java | 10 +-
.../metadata/store/nacos/NacosMetadataReport.java | 14 +-
dubbo-metadata/dubbo-metadata-report-redis/pom.xml | 5 -
.../dubbo-metadata-report-zookeeper/pom.xml | 5 -
.../zookeeper/ZookeeperMetadataReportTest.java | 21 +-
.../java/org/apache/dubbo/monitor/Constants.java | 36 +-
.../org/apache/dubbo/monitor/MonitorService.java | 38 --
.../dubbo/monitor/support/MonitorFilter.java | 43 +-
.../dubbo/monitor/support/MonitorFilterTest.java | 39 +-
.../apache/dubbo/monitor/dubbo/DubboMonitor.java | 141 +++---
.../apache/dubbo/monitor/dubbo/MetricsFilter.java | 6 +-
.../org/apache/dubbo/monitor/dubbo/Statistics.java | 23 +-
.../apache/dubbo/monitor/dubbo/StatisticsItem.java | 132 ++++++
.../dubbo/monitor/dubbo/DubboMonitorTest.java | 106 +++--
.../dubbo/monitor/dubbo/MetricsFilterTest.java | 8 +-
.../apache/dubbo/monitor/dubbo/StatisticsTest.java | 54 ++-
.../META-INF/native-image/reflect-config.json | 8 +-
.../router/state/StateRouterFactory$Adaptive.java | 6 +-
.../dubbo/qos/command/CommandContextFactory.java | 6 +-
.../qos/command/decoder/HttpCommandDecoder.java | 6 +-
.../apache/dubbo/qos/command/impl/BaseOffline.java | 5 +-
.../dubbo/qos/command/impl/ChangeTelnet.java | 3 +-
.../apache/dubbo/qos/command/impl/CountTelnet.java | 4 +-
.../org/apache/dubbo/qos/command/impl/Help.java | 14 +-
.../dubbo/qos/command/impl/InvokeTelnet.java | 13 +-
.../org/apache/dubbo/qos/command/impl/Live.java | 23 +-
.../apache/dubbo/qos/command/impl/OfflineApp.java | 3 -
.../org/apache/dubbo/qos/command/impl/Online.java | 12 +-
.../apache/dubbo/qos/command/impl/OnlineApp.java | 2 +-
.../apache/dubbo/qos/command/impl/PortTelnet.java | 2 +-
.../apache/dubbo/qos/command/impl/PwdTelnet.java | 3 +-
.../dubbo/qos/command/impl/SelectTelnet.java | 3 +-
.../dubbo/qos/command/util/CommandHelper.java | 2 +-
.../dubbo/qos/legacy/ChangeTelnetHandler.java | 3 +-
.../dubbo/qos/legacy/TraceTelnetHandler.java | 6 +-
.../org/apache/dubbo/qos/probe/LivenessProbe.java | 2 +-
.../org/apache/dubbo/qos/probe/ReadinessProbe.java | 2 +-
.../org/apache/dubbo/qos/probe/StartupProbe.java | 2 +-
.../qos/server/handler/HttpProcessHandler.java | 4 +-
.../command/decoder/HttpCommandDecoderTest.java | 10 +-
.../dubbo/qos/command/impl/InvokeTelnetTest.java | 10 +-
.../apache/dubbo/qos/command/impl/LiveTest.java | 52 +++
.../org/apache/dubbo/qos/command/impl/LsTest.java | 177 ++++----
.../dubbo/qos/command/impl/MockLivenessProbe.java | 24 +-
.../apache/dubbo/qos/command/impl/OfflineTest.java | 170 +++++---
.../apache/dubbo/qos/command/impl/OnlineTest.java | 162 ++++---
.../qos/command/impl/PublishMetadataTest.java | 78 ++++
.../apache/dubbo/qos/command/impl/ReadyTest.java | 78 ++++
.../apache/dubbo/qos/command/impl/StartupTest.java | 75 ++++
.../dubbo/qos/legacy/service/DemoServiceImpl.java | 4 +-
.../qos/server/handler/HttpProcessHandlerTest.java | 16 +-
.../org.apache.dubbo.qos.probe.LivenessProbe | 1 +
.../dubbo/registry/ListenerRegistryWrapper.java | 4 +-
.../registry/client/AbstractServiceDiscovery.java | 63 +--
.../registry/client/DefaultServiceInstance.java | 76 +++-
.../dubbo/registry/client/InstanceAddressURL.java | 6 +-
.../dubbo/registry/client/NopServiceDiscovery.java | 2 +-
.../client/ServiceDiscoveryRegistryDirectory.java | 47 +-
.../dubbo/registry/client/ServiceInstance.java | 15 +-
.../listener/ServiceInstancesChangedListener.java | 7 +-
.../registry/client/metadata/MetadataUtils.java | 4 +-
.../StandardMetadataServiceURLBuilder.java | 10 +-
.../DefaultMigrationAddressComparator.java | 20 +-
.../client/migration/MigrationInvoker.java | 2 +-
.../integration/AbstractConfiguratorListener.java | 27 +-
.../registry/integration/DynamicDirectory.java | 30 +-
.../registry/integration/RegistryDirectory.java | 89 ++--
.../support/CacheableFailbackRegistry.java | 2 +-
.../client/DefaultServiceInstanceTest.java | 2 +-
.../client/metadata/MetadataUtilsTest.java | 31 +-
.../StandardMetadataServiceURLBuilderTest.java | 9 +-
.../client/support/MockServiceDiscovery.java | 4 +-
.../registry/support/FailbackRegistryTest.java | 38 +-
.../multicast/MulticastServiceDiscovery.java | 4 +-
dubbo-registry/dubbo-registry-multiple/pom.xml | 5 -
.../multiple/MultipleRegistry2S2RTest.java | 61 +--
.../apache/dubbo/registry/nacos/NacosRegistry.java | 45 +-
.../registry/nacos/NacosServiceDiscovery.java | 2 +-
.../registry/nacos/NacosServiceDiscoveryTest.java | 2 +-
dubbo-registry/dubbo-registry-zookeeper/pom.xml | 5 -
.../zookeeper/ZookeeperServiceDiscovery.java | 2 +-
.../registry/zookeeper/ZookeeperRegistryTest.java | 24 +-
.../zookeeper/ZookeeperServiceDiscoveryTest.java | 18 +-
.../zookeeper/util/CuratorFrameworkUtilsTest.java | 17 +-
.../org/apache/dubbo/remoting/api/SslContexts.java | 50 ++-
.../exchange/PortUnificationExchanger.java | 5 +-
.../remoting/exchange/codec/ExchangeCodec.java | 2 -
.../telnet/support/command/ClearTelnetHandler.java | 3 +-
.../telnet/support/command/ExitTelnetHandler.java | 2 +-
.../telnet/support/command/HelpTelnetHandler.java | 66 +--
.../dubbo/remoting/transport/AbstractClient.java | 28 +-
.../dubbo/remoting/http/jetty/JettyHttpServer.java | 9 +-
.../remoting/http/jetty/JettyLoggerAdapter.java | 157 +++++++
.../http/jetty/JettyLoggerAdapterTest.java | 127 ++++++
.../src/test/resources/log4j.xml | 41 ++
.../dubbo-remoting-zookeeper-curator5/pom.xml | 6 -
.../curator5/Curator5ZookeeperClient.java | 12 +-
.../curator5/Curator5ZookeeperClientTest.java | 27 +-
.../curator5/Curator5ZookeeperTransporterTest.java | 21 +-
.../support/AbstractZookeeperTransporterTest.java | 134 ++----
dubbo-remoting/dubbo-remoting-zookeeper/pom.xml | 5 -
.../zookeeper/curator/CuratorZookeeperClient.java | 12 +-
.../curator/CuratorZookeeperClientTest.java | 27 +-
.../curator/CuratorZookeeperTransporterTest.java | 22 +-
.../support/AbstractZookeeperTransporterTest.java | 137 +++---
.../org/apache/dubbo/rpc/RpcContextAttachment.java | 4 +-
.../java/org/apache/dubbo/rpc/RpcInvocation.java | 20 +-
.../org/apache/dubbo/rpc/filter/ContextFilter.java | 2 +-
.../apache/dubbo/rpc/CancellationContextTest.java | 61 +++
.../dubbo/rpc/protocol/grpc/GrpcOptionsUtils.java | 48 +-
.../dubbo/rpc/protocol/grpc/GrpcProtocolTest.java | 8 +-
.../dubbo/rpc/protocol/injvm/InjvmInvoker.java | 6 +-
.../rpc/protocol/tri/AbstractClientStream.java | 6 +-
.../dubbo/rpc/protocol/tri/AbstractStream.java | 5 +-
.../tri/ClientOutboundTransportObserver.java | 36 +-
.../apache/dubbo/rpc/protocol/tri/Compressor.java | 3 +
.../apache/dubbo/rpc/protocol/tri/GrpcStatus.java | 2 +-
.../protocol/tri/OutboundTransportObserver.java | 16 +-
.../tri/ServerOutboundTransportObserver.java | 51 +--
.../rpc/protocol/tri/SingleProtobufUtils.java | 17 +-
.../dubbo/rpc/protocol/tri/TransportState.java | 3 +-
.../protocol/tri/TripleClientRequestHandler.java | 5 +-
.../protocol/tri/TripleCommandOutBoundHandler.java | 29 +-
.../dubbo/rpc/protocol/tri/TripleHeaderEnum.java | 3 -
.../tri/TripleHttp2FrameServerHandler.java | 25 +-
.../rpc/protocol/tri/TripleHttp2Protocol.java | 1 +
.../dubbo/rpc/protocol/tri/TripleProtocol.java | 3 -
.../dubbo/rpc/protocol/tri/UnaryClientStream.java | 2 +-
.../dubbo/rpc/protocol/tri/UnaryServerStream.java | 2 +-
.../apache/dubbo/rpc/protocol/tri/WriteQueue.java | 87 ++++
.../protocol/tri/command/CancelQueueCommand.java | 34 +-
.../rpc/protocol/tri/command/DataQueueCommand.java | 99 +++++
.../protocol/tri/command/FlushQueueCommand.java | 15 +-
.../protocol/tri/command/HeaderQueueCommand.java | 81 ++++
.../rpc/protocol/tri/command/QueuedCommand.java | 69 +++
.../protocol/tri/command/TextDataQueueCommand.java | 46 ++
.../protocol/tri/service/TriBuiltinService.java | 2 +-
.../rpc/protocol/tri/service/TriHealthImpl.java | 2 +-
.../dubbo/rpc/protocol/tri/AbstractStreamTest.java | 118 +++++
.../dubbo/rpc/protocol/tri/ClientStreamTest.java | 367 ++++++++++++++++
.../rpc/protocol/tri/GrpcDataDecoderTest.java | 101 +++++
.../dubbo/rpc/protocol/tri/ServerStreamTest.java | 291 +++++++++++++
.../rpc/protocol/tri/SingleProtobufUtilsTest.java | 77 ++++
.../dubbo/rpc/protocol/tri/TransportStateTest.java | 2 +-
.../tri/TripleHttp2ClientResponseHandlerTest.java | 107 +++++
.../dubbo/rpc/protocol/tri/TripleProtocolTest.java | 52 ++-
.../dubbo/rpc/protocol/tri/WriteQueueTest.java | 113 +++++
.../tri/service/TriBuiltinServiceTest.java | 43 ++
.../protocol/tri/service/TriHealthImplTest.java | 129 ++++++
.../dubbo/rpc/protocol/tri/support/IGreeter.java | 4 +
.../rpc/protocol/tri/support/IGreeterImpl.java | 15 +-
.../tri/support/MockAbstractStreamImpl.java | 34 +-
.../{IGreeterImpl.java => MockStreamObserver.java} | 44 +-
.../dubbo/DefaultHessian2FactoryInitializer.java | 2 +-
.../dubbo/WhitelistHessian2FactoryInitializer.java | 2 +-
.../DubboListenerAutoConfiguration.java | 7 -
.../src/main/resources/META-INF/spring.factories | 2 +
dubbo-test/dubbo-test-check/pom.xml | 37 +-
...bstractRegistryCenterTestExecutionListener.java | 100 +++++
.../dubbo/test/check/RegistryCenterFinished.java | 28 +-
.../dubbo/test/check/RegistryCenterStarted.java | 50 +++
.../test/check/exception/DubboTestException.java | 43 ++
.../dubbo/test/check/registrycenter/Config.java | 67 +++
.../dubbo/test/check/registrycenter/Context.java | 6 +-
.../registrycenter/GlobalRegistryCenter.java} | 35 +-
.../test/check/registrycenter/Initializer.java | 14 +-
.../dubbo/test/check/registrycenter/Processor.java | 22 +-
.../test/check/registrycenter/RegistryCenter.java | 31 +-
.../registrycenter/ZookeeperRegistryCenter.java | 239 ++++++++++
.../registrycenter/config/ZookeeperConfig.java | 175 ++++++++
.../config/ZookeeperRegistryCenterConfig.java | 84 ++++
.../registrycenter/context/ZookeeperContext.java | 92 ++++
.../context/ZookeeperWindowsContext.java | 110 +++++
.../initializer/ConfigZookeeperInitializer.java | 143 ++++++
.../initializer/DownloadZookeeperInitializer.java | 177 ++++++++
.../initializer/UnpackZookeeperInitializer.java | 114 +++++
.../initializer/ZookeeperInitializer.java | 51 +++
.../processor/FindPidWindowsProcessor.java | 119 +++++
.../processor/KillProcessWindowsProcessor.java | 61 +++
.../processor/ResetZookeeperProcessor.java | 55 +++
.../processor/StartZookeeperUnixProcessor.java | 68 +++
.../processor/StartZookeeperWindowsProcessor.java | 81 ++++
.../processor/StopZookeeperUnixProcessor.java | 66 +++
.../processor/StopZookeeperWindowsProcessor.java | 52 +++
.../processor/ZookeeperUnixProcessor.java | 109 +++++
.../processor/ZookeeperWindowsProcessor.java | 41 ++
...g.junit.platform.launcher.TestExecutionListener | 4 +
dubbo-test/dubbo-test-common/pom.xml | 12 -
.../dubbo/test/common/EmbeddedZooKeeper.java | 248 -----------
.../apache/dubbo/test/common/ZooKeeperServer.java | 57 ---
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../test/common/registrycenter/RegistryCenter.java | 70 ---
.../ZookeeperMultipleRegistryCenter.java | 43 --
.../registrycenter/ZookeeperRegistryCenter.java | 142 ------
.../test/spring/SpringAnnotationBeanTest.java | 7 -
.../test/spring/SpringJavaConfigBeanTest.java | 10 +-
.../dubbo/test/spring/SpringXmlConfigTest.java | 6 -
.../src/main/resources/demo-app.properties | 6 +-
.../src/main/resources/spring/dubbo-demo.xml | 6 +-
544 files changed, 12666 insertions(+), 6254 deletions(-)
create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/RouterResult.java
create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/RouterSnapshotNode.java
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/{ConditionRouter.java => ConditionStateRouter.java} (87%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/{ConditionRouterFactory.java => ConditionStateRouterFactory.java} (70%)
copy dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/config/{AppRouter.java => AppStateRouter.java} (92%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/config/{AppRouterFactory.java => AppStateRouterFactory.java} (76%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/config/{ListenableRouter.java => ListenableStateRouter.java} (71%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/config/{ServiceRouterFactory.java => ServiceStateRouterFactory.java} (76%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/file/{FileRouterFactory.java => FileStateRouterFactory.java} (80%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mock/{MockRouterFactory.java => MockStateRouterFactory.java} (76%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/script/{ScriptRouter.java => ScriptStateRouter.java} (79%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/script/{ScriptRouterFactory.java => ScriptStateRouterFactory.java} (81%)
delete mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/state/RouterCache.java
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/state/{AddrCache.java => StateRouterResult.java} (50%)
delete mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagDynamicStateRouter.java
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/{TagRouter.java => TagStateRouter.java} (77%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/{TagStaticStateRouterFactory.java => TagStateRouterFactory.java} (79%)
delete mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagStaticStateRouter.java
rename dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/script/{ScriptRouterTest.java => ScriptStateRouterTest.java} (69%)
create mode 100644 dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/support/ConnectivityValidationTest.java
delete mode 100644 dubbo-cluster/src/test/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory
create mode 100644 dubbo-cluster/src/test/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.router.state.StateRouterFactory
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/CommonScopeModelInitializerTest.java
copy dubbo-common/src/test/java/org/apache/dubbo/common/config/{PropertiesConfigurationTest.java => ConfigurationCacheTest.java} (69%)
copy dubbo-common/src/test/java/org/apache/dubbo/common/config/{PropertiesConfigurationTest.java => OrderedPropertiesConfigurationTest.java} (92%)
rename dubbo-common/src/test/java/org/apache/dubbo/common/extension/ext6_wrap/impl/{Ext5Impl1.java => Ext6Impl1.java} (92%)
rename dubbo-common/src/test/java/org/apache/dubbo/common/extension/ext6_wrap/impl/{Ext5Impl2.java => Ext6Impl2.java} (92%)
copy dubbo-common/src/test/java/org/apache/dubbo/common/extension/ext6_wrap/impl/{Ext5Wrapper1.java => Ext6Wrapper1.java} (92%)
rename dubbo-common/src/test/java/org/apache/dubbo/common/extension/ext6_wrap/impl/{Ext5Wrapper2.java => Ext6Wrapper2.java} (92%)
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/extension/inject/AdaptiveExtensionInjectorTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/resource/GlobalResourcesRepositoryTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/status/reporter/FrameworkStatusReportServiceTest.java
copy dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/single/injvm/SingleRegistryCenterInjvmServiceImpl.java => dubbo-common/src/test/java/org/apache/dubbo/common/status/reporter/MockFrameworkStatusReporter.java (66%)
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/utils/ClassLoaderResourceLoaderTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/utils/MD5UtilsTest.java
copy dubbo-common/src/test/java/org/apache/dubbo/{common/config/PropertiesConfigurationTest.java => config/context/ConfigConfigurationAdapterTest.java} (54%)
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/model/ApplicationModelTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/model/FrameworkModelTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/model/FrameworkServiceRepositoryTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/model/ModuleModelTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/model/ModuleServiceRepositoryTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/model/ScopeModelAwareExtensionProcessorTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/model/ScopeModelUtilTest.java
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/model/ServiceRepositoryTest.java
copy dubbo-common/src/test/java/org/apache/dubbo/{common/config/CompositeConfigurationTest.java => rpc/support/DemoService.java} (88%)
copy dubbo-common/src/test/java/org/apache/dubbo/{common/config/CompositeConfigurationTest.java => rpc/support/DemoServiceImpl.java} (81%)
create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/rpc/support/MockScopeModelAware.java
copy dubbo-common/src/{main/java/org/apache/dubbo/common/beans/ScopeBeanExtensionInjector.java => test/java/org/apache/dubbo/rpc/support/MockScopeModelDestroyListener.java} (60%)
create mode 100644 dubbo-common/src/test/resources/META-INF/dubbo/internal/org.apache.dubbo.common.status.reporter.FrameworkStatusReporter
copy dubbo-demo/dubbo-demo-annotation/dubbo-demo-annotation-provider/src/main/resources/spring/dubbo-provider.properties => dubbo-common/src/test/resources/dubbo-migration.yaml (88%)
copy dubbo-config/{dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/SpringScopeModelInitializer.java => dubbo-config-api/src/test/java/org/apache/dubbo/config/ConfigScopeModelInitializerTest.java} (54%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/AbstractRegistryCenterExporterListener.java (98%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/AbstractRegistryCenterServiceListener.java (97%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/Constants.java (95%)
copy dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/IntegrationTest.java (95%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/AbstractStorage.java (97%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/Storage.java (97%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataExporterListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataIntegrationTest.java (90%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataService.java (93%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataServiceImpl.java (94%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataServiceListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderExporterListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderFilter.java (97%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java (92%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderRegistryProtocolListener.java (97%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderService.java (93%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderServiceImpl.java (94%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderServiceListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/injvm/MultipleRegistryCenterInjvmExporterListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/injvm/MultipleRegistryCenterInjvmFilter.java (97%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/injvm/MultipleRegistryCenterInjvmIntegrationTest.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/injvm/MultipleRegistryCenterInjvmService.java (94%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/injvm/MultipleRegistryCenterInjvmServiceImpl.java (94%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/injvm/MultipleRegistryCenterInjvmServiceListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/package-info.java (95%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java (85%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryRegistryServiceListener.java (96%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryService.java (93%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryServiceImpl.java (93%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/servicediscoveryregistry/ServiceDiscoveryRegistryInfoWrapper.java (96%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/multiple/servicediscoveryregistry/ServiceDiscoveryRegistryStorage.java (87%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java (95%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/SingleRegistryCenterExportedServiceListener.java (90%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/SingleRegistryCenterIntegrationService.java (94%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/SingleRegistryCenterIntegrationServiceImpl.java (96%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportmetadata/SingleRegistryCenterExportMetadataExporterListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportmetadata/SingleRegistryCenterExportMetadataIntegrationTest.java (90%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportmetadata/SingleRegistryCenterExportMetadataService.java (93%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportmetadata/SingleRegistryCenterExportMetadataServiceImpl.java (94%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportmetadata/SingleRegistryCenterExportMetadataServiceListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportprovider/SingleRegistryCenterExportProviderExporterListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportprovider/SingleRegistryCenterExportProviderFilter.java (97%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java (92%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportprovider/SingleRegistryCenterExportProviderRegistryProtocolListener.java (93%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportprovider/SingleRegistryCenterExportProviderService.java (93%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportprovider/SingleRegistryCenterExportProviderServiceImpl.java (94%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/exportprovider/SingleRegistryCenterExportProviderServiceListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/injvm/SingleRegistryCenterInjvmExporterListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/injvm/SingleRegistryCenterInjvmFilter.java (97%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/injvm/SingleRegistryCenterInjvmIntegrationTest.java (90%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/injvm/SingleRegistryCenterInjvmService.java (94%)
copy dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/injvm/SingleRegistryCenterInjvmServiceImpl.java (95%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/injvm/SingleRegistryCenterInjvmServiceListener.java (89%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/{ => config}/integration/single/package-info.java (95%)
delete mode 100644 dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/registrycenter/AbstractRegistryCenter.java
delete mode 100644 dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/registrycenter/RegistryCenter.java
delete mode 100644 dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/registrycenter/ZookeeperMultipleRegistryCenter.java
delete mode 100644 dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/registrycenter/ZookeeperRegistryCenter.java
create mode 100644 dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/issues/issue9172/MultipleConsumerAndProviderTest.java
create mode 100644 dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/issues/issue9207/ConfigCenterBeanTest.java
delete mode 100644 dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registrycenter/AbstractRegistryCenter.java
delete mode 100644 dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registrycenter/RegistryCenter.java
delete mode 100644 dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registrycenter/ZookeeperMultipleRegistryCenter.java
delete mode 100644 dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registrycenter/ZookeeperRegistryCenter.java
delete mode 100644 dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registrycenter/ZookeeperSingleRegistryCenter.java
create mode 100644 dubbo-config/dubbo-config-spring/src/test/resources/META-INF/issues/issue9172/consumer.properties
create mode 100644 dubbo-config/dubbo-config-spring/src/test/resources/META-INF/issues/issue9172/provider.properties
copy dubbo-demo/dubbo-demo-annotation/dubbo-demo-annotation-provider/src/main/resources/spring/dubbo-provider.properties => dubbo-config/dubbo-config-spring/src/test/resources/META-INF/issues/issue9207/dubbo-properties-in-configcenter.properties (80%)
copy dubbo-demo/{dubbo-demo-xml/dubbo-demo-xml-provider-backend => dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer}/pom.xml (64%)
create mode 100644 dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ConsumerApplication.java
create mode 100644 dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer/src/main/resources/application.yml
rename dubbo-demo/{dubbo-demo-xml/dubbo-demo-xml-provider-backend => dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer}/src/main/resources/log4j.properties (100%)
copy {dubbo-test/dubbo-test-check => dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-interface}/pom.xml (68%)
copy dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/RevisionResolver.java => dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-interface/src/main/java/org/apache/dubbo/springboot/demo/DemoService.java (73%)
rename dubbo-demo/{dubbo-demo-xml/dubbo-demo-xml-provider-backend => dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider}/pom.xml (64%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/single/injvm/SingleRegistryCenterInjvmServiceImpl.java => dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/DemoServiceImpl.java (66%)
rename dubbo-demo/{dubbo-demo-xml/dubbo-demo-xml-provider-backend/src/main/java/org/apache/dubbo/demo/provider/chain/ChainApplication.java => dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java} (60%)
create mode 100644 dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider/src/main/resources/application.yml
copy {dubbo-test/dubbo-test-spring => dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider}/src/main/resources/log4j.properties (100%)
copy {dubbo-test/dubbo-test-check => dubbo-demo/dubbo-demo-spring-boot}/pom.xml (66%)
delete mode 100644 dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider-backend/src/main/java/org/apache/dubbo/demo/provider/chain/ChainServiceImpl.java
delete mode 100644 dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider-backend/src/main/resources/dubbo.properties
delete mode 100644 dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider-backend/src/main/resources/spring/dubbo-provider-chain.xml
create mode 100644 dubbo-monitor/dubbo-monitor-default/src/main/java/org/apache/dubbo/monitor/dubbo/StatisticsItem.java
create mode 100644 dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LiveTest.java
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagRouterFactory.java => dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/MockLivenessProbe.java (67%)
create mode 100644 dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/PublishMetadataTest.java
create mode 100644 dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/ReadyTest.java
create mode 100644 dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/StartupTest.java
create mode 100644 dubbo-plugin/dubbo-qos/src/test/resources/META-INF/services/org.apache.dubbo.qos.probe.LivenessProbe
create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/jetty/JettyLoggerAdapter.java
create mode 100644 dubbo-remoting/dubbo-remoting-http/src/test/java/org/apache/dubbo/remoting/http/jetty/JettyLoggerAdapterTest.java
create mode 100644 dubbo-remoting/dubbo-remoting-http/src/test/resources/log4j.xml
create mode 100644 dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/CancellationContextTest.java
copy dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/OnlineApp.java => dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleCommandOutBoundHandler.java (54%)
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/WriteQueue.java
copy dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/SpringScopeModelInitializer.java => dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/command/CancelQueueCommand.java (52%)
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/command/DataQueueCommand.java
copy dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/RevisionResolver.java => dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/command/FlushQueueCommand.java (71%)
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/command/HeaderQueueCommand.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/command/QueuedCommand.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/command/TextDataQueueCommand.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/AbstractStreamTest.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/ClientStreamTest.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/GrpcDataDecoderTest.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/ServerStreamTest.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/SingleProtobufUtilsTest.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/TripleHttp2ClientResponseHandlerTest.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/WriteQueueTest.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/service/TriBuiltinServiceTest.java
create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/service/TriHealthImplTest.java
rename dubbo-common/src/test/java/org/apache/dubbo/common/extension/ext6_wrap/impl/Ext5Wrapper1.java => dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/support/MockAbstractStreamImpl.java (56%)
copy dubbo-rpc/dubbo-rpc-triple/src/test/java/org/apache/dubbo/rpc/protocol/tri/support/{IGreeterImpl.java => MockStreamObserver.java} (51%)
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/AbstractRegistryCenterTestExecutionListener.java
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagDynamicStateRouterFactory.java => dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/RegistryCenterFinished.java (54%)
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/RegistryCenterStarted.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/exception/DubboTestException.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/Config.java
copy dubbo-common/src/test/java/org/apache/dubbo/common/config/CompositeConfigurationTest.java => dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/Context.java (85%)
rename dubbo-test/{dubbo-test-common/src/main/java/org/apache/dubbo/test/common/registrycenter/ZookeeperSingleRegistryCenter.java => dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/GlobalRegistryCenter.java} (52%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/integration/IntegrationTest.java => dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/Initializer.java (64%)
rename dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/config/AppRouter.java => dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/Processor.java (62%)
rename dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/registrycenter/ZookeeperSingleRegistryCenter.java => dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/RegistryCenter.java (58%)
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/ZookeeperRegistryCenter.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/config/ZookeeperConfig.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/config/ZookeeperRegistryCenterConfig.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/context/ZookeeperContext.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/context/ZookeeperWindowsContext.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/initializer/ConfigZookeeperInitializer.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/initializer/DownloadZookeeperInitializer.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/initializer/UnpackZookeeperInitializer.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/initializer/ZookeeperInitializer.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/FindPidWindowsProcessor.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/KillProcessWindowsProcessor.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/ResetZookeeperProcessor.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/StartZookeeperUnixProcessor.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/StartZookeeperWindowsProcessor.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/StopZookeeperUnixProcessor.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/StopZookeeperWindowsProcessor.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/ZookeeperUnixProcessor.java
create mode 100644 dubbo-test/dubbo-test-check/src/main/java/org/apache/dubbo/test/check/registrycenter/processor/ZookeeperWindowsProcessor.java
delete mode 100644 dubbo-test/dubbo-test-common/src/main/java/org/apache/dubbo/test/common/EmbeddedZooKeeper.java
delete mode 100644 dubbo-test/dubbo-test-common/src/main/java/org/apache/dubbo/test/common/ZooKeeperServer.java
delete mode 100644 dubbo-test/dubbo-test-common/src/main/java/org/apache/dubbo/test/common/registrycenter/AbstractRegistryCenter.java
delete mode 100644 dubbo-test/dubbo-test-common/src/main/java/org/apache/dubbo/test/common/registrycenter/RegistryCenter.java
delete mode 100644 dubbo-test/dubbo-test-common/src/main/java/org/apache/dubbo/test/common/registrycenter/ZookeeperMultipleRegistryCenter.java
delete mode 100644 dubbo-test/dubbo-test-common/src/main/java/org/apache/dubbo/test/common/registrycenter/ZookeeperRegistryCenter.java
[dubbo] 01/04: update demo
Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.0-metadata-refactor
in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit e15d2ae8070fbc31150ae343c7df6eb17364b0ce
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Dec 6 16:11:32 2021 +0800
update demo
---
.../src/main/resources/spring/dubbo-provider.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider/src/main/resources/spring/dubbo-provider.xml b/dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider/src/main/resources/spring/dubbo-provider.xml
index 42d7ccd..60f1d93 100644
--- a/dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider/src/main/resources/spring/dubbo-provider.xml
+++ b/dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider/src/main/resources/spring/dubbo-provider.xml
@@ -37,12 +37,12 @@
<bean id="restDemoService" class="org.apache.dubbo.demo.provider.RestDemoServiceImpl"/>
<bean id="tripleService" class="org.apache.dubbo.demo.provider.TripleServiceImpl"/>
- <dubbo:service delay="500000" interface="org.apache.dubbo.demo.DemoService" timeout="3000" ref="demoService" registry="registry1" protocol="dubbo"/>
- <dubbo:service delay="500000" version="1.0.0" group="greeting" timeout="5000" interface="org.apache.dubbo.demo.GreetingService"
+ <dubbo:service delay="5000" interface="org.apache.dubbo.demo.DemoService" timeout="3000" ref="demoService" registry="registry1" protocol="dubbo"/>
+ <dubbo:service delay="5000" version="1.0.0" group="greeting" timeout="5000" interface="org.apache.dubbo.demo.GreetingService"
ref="greetingService" protocol="dubbo"/>
- <dubbo:service delay="500000" version="1.0.0" timeout="5000" interface="org.apache.dubbo.demo.RestDemoService"
+ <dubbo:service delay="5000" version="1.0.0" timeout="5000" interface="org.apache.dubbo.demo.RestDemoService"
ref="restDemoService" protocol="rest"/>
- <dubbo:service delay="500000" version="1.0.0" timeout="5000" interface="org.apache.dubbo.demo.TripleService"
+ <dubbo:service delay="5000" version="1.0.0" timeout="5000" interface="org.apache.dubbo.demo.TripleService"
ref="tripleService" protocol="tri"/>
</beans>
[dubbo] 02/04: Merge branch '3.0' into 3.0-metadata-refactor-merged
Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.0-metadata-refactor
in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit 084113ad2a0322aee74a68f6d56c99a70a5d3e1f
Merge: 1448ebe 8a7c360
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Dec 6 16:47:56 2021 +0800
Merge branch '3.0' into 3.0-metadata-refactor-merged
# Conflicts:
# dubbo-common/src/main/java/org/apache/dubbo/common/config/CompositeConfiguration.java
# dubbo-common/src/main/java/org/apache/dubbo/rpc/model/FrameworkModel.java
# dubbo-common/src/test/java/org/apache/dubbo/common/status/reporter/MockFrameworkStatusReporter.java
# dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
# dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
# dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java
# dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/metadata/ConfigurableMetadataServiceExporter.java
# dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapTest.java
# dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java
# dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
# dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/metadata/MetadataServiceExporterTest.java
# dubbo-metadata/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
# dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java
# dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataUtils.java
# dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/InMemoryWritableMetadataService.java
# dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/RemoteMetadataServiceImpl.java
# dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListenerTest.java
# dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceHostPortCustomizerTest.java
# dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataUtilsTest.java
# dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscoveryTest.java
# dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtilsTest.java
# dubbo-test/dubbo-test-spring/src/main/java/org/apache/dubbo/test/spring/SpringXmlConfigTest.java
# dubbo-test/dubbo-test-spring/src/main/resources/spring/dubbo-demo.xml
.gitignore | 3 +
dubbo-cluster/pom.xml | 4 -
.../org/apache/dubbo/rpc/cluster/Constants.java | 4 -
.../org/apache/dubbo/rpc/cluster/Directory.java | 29 ++
.../java/org/apache/dubbo/rpc/cluster/Router.java | 23 +-
.../org/apache/dubbo/rpc/cluster/RouterChain.java | 278 ++++++------
.../rpc/cluster/directory/AbstractDirectory.java | 280 +++++++++++-
.../rpc/cluster/directory/StaticDirectory.java | 38 +-
.../cluster/filter/DefaultFilterChainBuilder.java | 7 +-
.../dubbo/rpc/cluster/router/RouterResult.java | 55 +++
.../rpc/cluster/router/RouterSnapshotNode.java | 117 +++++
...ditionRouter.java => ConditionStateRouter.java} | 54 ++-
...ctory.java => ConditionStateRouterFactory.java} | 13 +-
.../config/{AppRouter.java => AppStateRouter.java} | 4 +-
...uterFactory.java => AppStateRouterFactory.java} | 14 +-
...nableRouter.java => ListenableStateRouter.java} | 39 +-
.../router/condition/config/ServiceRouter.java | 2 +-
...Factory.java => ServiceStateRouterFactory.java} | 10 +-
...terFactory.java => FileStateRouterFactory.java} | 18 +-
.../cluster/router/mesh/route/MeshRuleRouter.java | 12 +-
.../cluster/router/mock/MockInvokersSelector.java | 79 ++--
...terFactory.java => MockStateRouterFactory.java} | 10 +-
.../{ScriptRouter.java => ScriptStateRouter.java} | 36 +-
...rFactory.java => ScriptStateRouterFactory.java} | 10 +-
.../cluster/router/state/AbstractStateRouter.java | 61 +--
.../dubbo/rpc/cluster/router/state/BitList.java | 484 +++++++++++++++------
.../router/state/CacheableStateRouterFactory.java | 12 +-
.../rpc/cluster/router/state/RouterCache.java | 49 ---
.../rpc/cluster/router/state/StateRouter.java | 54 +--
.../cluster/router/state/StateRouterFactory.java | 3 +-
.../{AddrCache.java => StateRouterResult.java} | 48 +-
.../cluster/router/tag/TagDynamicStateRouter.java | 260 -----------
.../tag/{TagRouter.java => TagStateRouter.java} | 67 +--
...uterFactory.java => TagStateRouterFactory.java} | 9 +-
.../cluster/router/tag/TagStaticStateRouter.java | 142 ------
.../cluster/support/AbstractClusterInvoker.java | 137 ++++--
.../rpc/cluster/support/AvailableCluster.java | 8 +-
.../support/wrapper/MockClusterInvoker.java | 2 +
.../org.apache.dubbo.rpc.cluster.RouterFactory | 6 -
...bbo.rpc.cluster.router.state.StateRouterFactory | 8 +-
.../apache/dubbo/rpc/cluster/RouterChainTest.java | 7 +-
.../rpc/cluster/directory/StaticDirectoryTest.java | 25 +-
.../loadbalance/ConsistentHashLoadBalanceTest.java | 8 +-
.../router/condition/ConditionRouterTest.java | 253 ++++++-----
.../cluster/router/file/FileRouterEngineTest.java | 18 +-
.../router/mesh/route/MeshRuleRouterTest.java | 19 +-
.../router/mock/MockInvokersSelectorTest.java | 11 +-
...tRouterTest.java => ScriptStateRouterTest.java} | 59 +--
.../rpc/cluster/router/state/BitListTest.java | 479 +++++++++++++++++++-
.../support/AbstractClusterInvokerTest.java | 11 +-
.../support/ConnectivityValidationTest.java | 323 ++++++++++++++
.../support/FailoverClusterInvokerTest.java | 10 +-
.../org.apache.dubbo.rpc.cluster.RouterFactory | 1 -
...bbo.rpc.cluster.router.state.StateRouterFactory | 1 +
.../apache/dubbo/common/BaseServiceMetadata.java | 4 +-
.../src/main/java/org/apache/dubbo/common/URL.java | 112 +++--
.../common/beans/ScopeBeanExtensionInjector.java | 1 +
.../common/beans/factory/ScopeBeanFactory.java | 4 +-
.../beans/support/InstantiationStrategy.java | 2 +-
.../common/config/CompositeConfiguration.java | 4 +-
.../apache/dubbo/common/config/Environment.java | 9 +-
.../config/OrderedPropertiesConfiguration.java | 10 +-
.../dubbo/common/constants/CommonConstants.java | 17 +-
.../dubbo/common/deploy/AbstractDeployer.java | 12 +-
.../org/apache/dubbo/common/deploy/Deployer.java | 1 +
.../dubbo/common/extension/ExtensionDirector.java | 9 +-
.../dubbo/common/extension/ExtensionLoader.java | 38 +-
.../dubbo/common/extension/LoadingStrategy.java | 4 +-
.../extension/inject/SpiExtensionInjector.java | 1 +
.../extension/support/ActivateComparator.java | 10 +-
.../org/apache/dubbo/common/io/StreamUtils.java | 4 +-
.../common/io/UnsafeByteArrayOutputStream.java | 16 +-
.../apache/dubbo/common/io/UnsafeStringWriter.java | 4 +-
.../dubbo/common/lang/ShutdownHookCallbacks.java | 2 +-
.../common/resource/GlobalResourcesRepository.java | 22 +-
.../reporter/FrameworkStatusReportService.java | 12 +-
.../dubbo/common/threadlocal/InternalRunnable.java | 2 +-
.../manager/DefaultExecutorRepository.java | 32 +-
.../threadpool/manager/ExecutorRepository.java | 7 +
.../threadpool/serial/SerializingExecutor.java | 2 +-
.../dubbo/common/timer/HashedWheelTimer.java | 4 +-
.../common/url/component/ServiceAddressURL.java | 6 +
.../common/url/component/ServiceConfigURL.java | 14 +-
.../dubbo/common/url/component/URLAddress.java | 2 +-
.../common/utils/ClassLoaderResourceLoader.java | 18 +-
.../org/apache/dubbo/common/utils/ConfigUtils.java | 10 +-
.../org/apache/dubbo/common/utils/MD5Utils.java | 19 +-
.../dubbo/config/AbstractInterfaceConfig.java | 7 +
.../apache/dubbo/config/AbstractMethodConfig.java | 4 +
.../dubbo/config/AbstractReferenceConfig.java | 8 +
.../apache/dubbo/config/AbstractServiceConfig.java | 8 +
.../org/apache/dubbo/config/ApplicationConfig.java | 4 +
.../apache/dubbo/config/ConfigCenterConfig.java | 5 +
.../org/apache/dubbo/config/ConsumerConfig.java | 9 +
.../apache/dubbo/config/MetadataReportConfig.java | 10 +
.../java/org/apache/dubbo/config/MethodConfig.java | 5 +
.../org/apache/dubbo/config/MetricsConfig.java | 6 +-
.../java/org/apache/dubbo/config/ModuleConfig.java | 9 +
.../org/apache/dubbo/config/MonitorConfig.java | 10 +
.../org/apache/dubbo/config/ProtocolConfig.java | 57 +--
.../org/apache/dubbo/config/ProviderConfig.java | 74 +---
.../apache/dubbo/config/ReferenceConfigBase.java | 15 +
.../org/apache/dubbo/config/RegistryConfig.java | 18 +-
.../org/apache/dubbo/config/ServiceConfigBase.java | 16 +-
.../java/org/apache/dubbo/config/SslConfig.java | 8 +
.../dubbo/config/annotation/DubboReference.java | 4 +-
.../dubbo/config/annotation/DubboService.java | 2 +-
.../config/context/AbstractConfigManager.java | 17 +-
.../apache/dubbo/config/context/ConfigManager.java | 2 +-
.../dubbo/config/context/ModuleConfigManager.java | 126 +++++-
.../apache/dubbo/rpc/model/ApplicationModel.java | 5 +-
.../org/apache/dubbo/rpc/model/FrameworkModel.java | 62 +--
.../rpc/model/FrameworkServiceRepository.java | 13 +-
.../apache/dubbo/rpc/model/MethodDescriptor.java | 3 -
.../org/apache/dubbo/rpc/model/ScopeModel.java | 4 +
.../model/ScopeModelAwareExtensionProcessor.java | 2 +-
.../apache/dubbo/rpc/model/ServiceMetadata.java | 2 +-
.../common/CommonScopeModelInitializerTest.java | 62 +++
.../test/java/org/apache/dubbo/common/URLTest.java | 76 +++-
.../common/config/CompositeConfigurationTest.java | 21 +-
...rationTest.java => ConfigurationCacheTest.java} | 18 +-
.../dubbo/common/config/EnvironmentTest.java | 63 ++-
...ava => OrderedPropertiesConfigurationTest.java} | 5 +-
.../common/config/PropertiesConfigurationTest.java | 26 +-
.../file/FileSystemDynamicConfigurationTest.java | 5 +-
.../common/extension/ExtensionLoaderTest.java | 22 +-
.../impl/{Ext5Impl1.java => Ext6Impl1.java} | 4 +-
.../impl/{Ext5Impl2.java => Ext6Impl2.java} | 4 +-
.../impl/{Ext5Wrapper1.java => Ext6Wrapper1.java} | 4 +-
.../impl/{Ext5Wrapper2.java => Ext6Wrapper2.java} | 4 +-
.../inject/AdaptiveExtensionInjectorTest.java | 58 +++
.../dubbo/common/io/UnsafeStringWriterTest.java | 4 +-
.../resource/GlobalResourcesRepositoryTest.java | 77 ++++
.../reporter/FrameworkStatusReportServiceTest.java | 106 +++++
.../threadlocal/InternalThreadLocalTest.java | 6 +
.../dubbo/common/utils/AnnotationUtilsTest.java | 74 ++--
.../utils/ClassLoaderResourceLoaderTest.java | 58 +++
.../apache/dubbo/common/utils/ConfigUtilsTest.java | 10 +
.../apache/dubbo/common/utils/MD5UtilsTest.java | 95 ++++
.../context/ConfigConfigurationAdapterTest.java} | 25 +-
.../dubbo/config/context/ConfigManagerTest.java | 104 ++++-
.../dubbo/rpc/model/ApplicationModelTest.java | 146 +++++++
.../apache/dubbo/rpc/model/FrameworkModelTest.java | 106 +++++
.../rpc/model/FrameworkServiceRepositoryTest.java | 113 +++++
.../apache/dubbo/rpc/model/ModuleModelTest.java | 89 ++++
.../rpc/model/ModuleServiceRepositoryTest.java | 113 +++++
.../ScopeModelAwareExtensionProcessorTest.java | 78 ++++
.../org/apache/dubbo/rpc/model/ScopeModelTest.java | 9 +-
.../apache/dubbo/rpc/model/ScopeModelUtilTest.java | 114 +++++
.../dubbo/rpc/model/ServiceRepositoryTest.java | 90 ++++
.../support/DemoService.java} | 8 +-
.../support/DemoServiceImpl.java} | 11 +-
.../dubbo/rpc/support/MockScopeModelAware.java | 72 +++
.../support/MockScopeModelDestroyListener.java} | 26 +-
...che.dubbo.common.extension.ext6_wrap.WrappedExt | 8 +-
....common.status.reporter.FrameworkStatusReporter | 1 +
.../src/test/resources/dubbo-migration.yaml | 6 +-
.../main/java/com/alibaba/dubbo/common/URL.java | 5 +-
dubbo-config/dubbo-config-api/pom.xml | 12 -
.../org/apache/dubbo/config/ReferenceConfig.java | 21 +-
.../org/apache/dubbo/config/ServiceConfig.java | 28 +-
.../config/deploy/DefaultApplicationDeployer.java | 177 +++++---
.../dubbo/config/deploy/DefaultModuleDeployer.java | 63 ++-
.../invoker/DelegateProviderMetaDataInvoker.java | 3 +-
.../dubbo/config/utils/SimpleReferenceCache.java | 13 +-
.../dubbo/config/AbstractReferenceConfigTest.java | 19 +-
.../dubbo/config/ConfigCenterConfigTest.java | 13 +-
.../config/ConfigScopeModelInitializerTest.java} | 37 +-
.../apache/dubbo/config/ReferenceConfigTest.java | 19 +-
.../apache/dubbo/config/RegistryConfigTest.java | 7 +-
.../dubbo/config/bootstrap/DubboBootstrapTest.java | 30 +-
.../bootstrap/DubboServiceConsumerBootstrap.java | 5 +-
.../bootstrap/DubboServiceProviderBootstrap.java | 7 +-
.../DubboServiceProviderMinimumBootstrap.java | 3 +-
.../dubbo/config/bootstrap/MultiInstanceTest.java | 44 +-
.../ZookeeperDubboServiceConsumerBootstrap.java | 3 +-
.../DubboInterfaceConsumerBootstrap.java | 3 +-
.../AbstractRegistryCenterExporterListener.java | 2 +-
.../AbstractRegistryCenterServiceListener.java | 2 +-
.../dubbo/{ => config}/integration/Constants.java | 2 +-
.../{ => config}/integration/IntegrationTest.java | 2 +-
.../integration/multiple/AbstractStorage.java | 2 +-
.../{ => config}/integration/multiple/Storage.java | 2 +-
...gistryCenterExportMetadataExporterListener.java | 4 +-
...egistryCenterExportMetadataIntegrationTest.java | 25 +-
...ultipleRegistryCenterExportMetadataService.java | 2 +-
...pleRegistryCenterExportMetadataServiceImpl.java | 2 +-
...egistryCenterExportMetadataServiceListener.java | 4 +-
...gistryCenterExportProviderExporterListener.java | 4 +-
...MultipleRegistryCenterExportProviderFilter.java | 2 +-
...egistryCenterExportProviderIntegrationTest.java | 27 +-
...nterExportProviderRegistryProtocolListener.java | 2 +-
...ultipleRegistryCenterExportProviderService.java | 2 +-
...pleRegistryCenterExportProviderServiceImpl.java | 2 +-
...egistryCenterExportProviderServiceListener.java | 4 +-
...ultipleRegistryCenterInjvmExporterListener.java | 4 +-
.../injvm/MultipleRegistryCenterInjvmFilter.java | 2 +-
...MultipleRegistryCenterInjvmIntegrationTest.java | 29 +-
.../injvm/MultipleRegistryCenterInjvmService.java | 2 +-
.../MultipleRegistryCenterInjvmServiceImpl.java | 2 +-
...MultipleRegistryCenterInjvmServiceListener.java | 4 +-
.../integration/multiple/package-info.java | 2 +-
...terServiceDiscoveryRegistryIntegrationTest.java | 41 +-
...ceDiscoveryRegistryRegistryServiceListener.java | 4 +-
...istryCenterServiceDiscoveryRegistryService.java | 2 +-
...yCenterServiceDiscoveryRegistryServiceImpl.java | 2 +-
.../ServiceDiscoveryRegistryInfoWrapper.java | 2 +-
.../ServiceDiscoveryRegistryStorage.java | 4 +-
...RegistryCenterDubboProtocolIntegrationTest.java | 22 +-
...ingleRegistryCenterExportedServiceListener.java | 4 +-
.../SingleRegistryCenterIntegrationService.java | 2 +-
...SingleRegistryCenterIntegrationServiceImpl.java | 2 +-
...gistryCenterExportMetadataExporterListener.java | 4 +-
...egistryCenterExportMetadataIntegrationTest.java | 23 +-
.../SingleRegistryCenterExportMetadataService.java | 2 +-
...gleRegistryCenterExportMetadataServiceImpl.java | 2 +-
...egistryCenterExportMetadataServiceListener.java | 4 +-
...gistryCenterExportProviderExporterListener.java | 4 +-
.../SingleRegistryCenterExportProviderFilter.java | 2 +-
...egistryCenterExportProviderIntegrationTest.java | 24 +-
...nterExportProviderRegistryProtocolListener.java | 4 +-
.../SingleRegistryCenterExportProviderService.java | 2 +-
...gleRegistryCenterExportProviderServiceImpl.java | 2 +-
...egistryCenterExportProviderServiceListener.java | 4 +-
.../SingleRegistryCenterInjvmExporterListener.java | 4 +-
.../injvm/SingleRegistryCenterInjvmFilter.java | 2 +-
.../SingleRegistryCenterInjvmIntegrationTest.java | 23 +-
.../injvm/SingleRegistryCenterInjvmService.java | 2 +-
.../SingleRegistryCenterInjvmServiceImpl.java | 2 +-
.../SingleRegistryCenterInjvmServiceListener.java | 4 +-
.../integration/single/package-info.java | 2 +-
.../metadata/MetadataServiceExporterTest.java | 252 +++++++++++
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../dubbo/registrycenter/RegistryCenter.java | 70 ---
.../ZookeeperMultipleRegistryCenter.java | 45 --
.../registrycenter/ZookeeperRegistryCenter.java | 142 ------
.../org.apache.dubbo.config.ServiceListener | 14 +-
...g.apache.dubbo.registry.RegistryServiceListener | 2 +-
...o.registry.integration.RegistryProtocolListener | 4 +-
.../services/org.apache.dubbo.rpc.ExporterListener | 12 +-
.../META-INF/services/org.apache.dubbo.rpc.Filter | 8 +-
dubbo-config/dubbo-config-spring/pom.xml | 22 -
.../dubbo/config/spring/ConfigCenterBean.java | 9 +
.../apache/dubbo/config/spring/ServiceBean.java | 11 +
.../config/spring/SpringScopeModelInitializer.java | 3 +-
.../annotation/ServiceAnnotationPostProcessor.java | 10 +-
.../spring/context/DubboConfigBeanInitializer.java | 12 +-
.../config/spring/reference/ReferenceCreator.java | 139 ++----
.../org/apache/dubbo/config/spring/ConfigTest.java | 15 -
.../dubbo/config/spring/JavaConfigBeanTest.java | 19 +-
.../annotation/MethodConfigCallbackTest.java | 9 +-
.../factory/annotation/ReferenceCreatorTest.java | 40 +-
.../XmlReferenceBeanConditionalTest.java | 7 -
...nfigAnnotationReferenceBeanConditionalTest.java | 7 -
.../JavaConfigRawReferenceBeanConditionalTest.java | 7 -
.../JavaConfigReferenceBeanConditionalTest4.java | 7 -
.../configprops/SpringBootConfigPropsTest.java | 64 ++-
.../SpringBootMultipleConfigPropsTest.java | 17 +-
.../importxml/SpringBootImportDubboXmlTest.java | 7 -
.../annotation/DubboConfigConfigurationTest.java | 24 +-
.../context/annotation/EnableDubboConfigTest.java | 7 -
.../customize/DubboSpringInitCustomizerTest.java | 11 +-
.../spring/issues/issue6000/Issue6000Test.java | 7 -
.../spring/issues/issue6252/Issue6252Test.java | 7 -
.../spring/issues/issue7003/Issue7003Test.java | 7 -
.../issue9172/MultipleConsumerAndProviderTest.java | 105 +++++
.../issues/issue9207/ConfigCenterBeanTest.java | 108 +++++
.../consumer/PropertyConfigurerTest.java | 7 -
.../propertyconfigurer/consumer/app.properties | 2 +-
.../propertyconfigurer/consumer/dubbo-consumer.xml | 2 +-
.../consumer2/PropertySourcesConfigurerTest.java | 7 -
.../propertyconfigurer/consumer2/app.properties | 2 +-
.../consumer2/dubbo-consumer.xml | 2 +-
.../consumer3/PropertySourcesInJavaConfigTest.java | 16 -
.../propertyconfigurer/consumer3/app.properties | 2 +-
.../consumer3/dubbo-consumer.xml | 2 +-
.../propertyconfigurer/provider/app.properties | 6 +-
.../reference/DubboConfigBeanInitializerTest.java | 8 +-
.../config/spring/reference/ReferenceKeyTest.java | 18 -
.../javaconfig/JavaConfigReferenceBeanTest.java | 19 -
.../reference/javaconfig/consumer.properties | 2 +-
.../spring/reference/localcall/LocalCallTest.java | 8 -
.../spring/reference/localcall/LocalCallTest2.java | 7 -
.../reference/localcall/local-call-provider.xml | 2 +-
.../LocalCallMultipleReferenceAnnotationsTest.java | 12 -
.../localcallam/local-call-config.properties | 2 +-
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../spring/registrycenter/RegistryCenter.java | 75 ----
.../ZookeeperMultipleRegistryCenter.java | 43 --
.../registrycenter/ZookeeperRegistryCenter.java | 147 -------
.../ZookeeperSingleRegistryCenter.java | 44 --
.../config/spring/schema/GenericServiceTest.java | 7 -
.../schema/GenericServiceWithoutInterfaceTest.java | 7 -
.../META-INF/issues/issue6000/config.properties | 2 +-
.../META-INF/issues/issue6252/config.properties | 4 +-
.../META-INF/issues/issue7003/config.properties | 2 +-
.../META-INF/issues/issue9172/consumer.properties | 30 ++
.../META-INF/issues/issue9172/provider.properties | 24 +
.../dubbo-properties-in-configcenter.properties | 6 +-
.../zookeeper-dubbb-consumer.properties | 2 +-
.../zookeeper-dubbb-provider.properties | 2 +-
.../zookeeper-dubbo-consumer.xml | 4 +-
.../dubbo-generic-consumer-without-interface.xml | 2 +-
.../META-INF/spring/dubbo-generic-consumer.xml | 2 +-
.../support/apollo/ApolloDynamicConfiguration.java | 66 +--
.../support/nacos/NacosDynamicConfiguration.java | 4 +-
.../dubbo-configcenter-zookeeper/pom.xml | 5 -
.../ZookeeperDynamicConfigurationTest.java | 98 ++---
.../resources/spring/dubbo-consumer.properties | 1 +
.../resources/spring/dubbo-provider.properties | 2 +-
.../apache/dubbo/demo/consumer/Application.java | 13 +-
.../apache/dubbo/demo/provider/Application.java | 3 +
.../dubbo/demo/consumer/GenericApplication.java | 2 +
.../dubbo/demo/graalvm/consumer/Application.java | 17 +-
.../dubbo/demo/graalvm/provider/Application.java | 15 +-
.../dubbo-demo-spring-boot-consumer}/pom.xml | 90 ++--
.../demo/consumer/ConsumerApplication.java | 47 ++
.../src/main/resources/application.yml | 29 ++
.../src/main/resources/log4j.properties | 0
.../dubbo-demo-spring-boot-interface}/pom.xml | 20 +-
.../apache/dubbo/springboot/demo/DemoService.java | 13 +-
.../dubbo-demo-spring-boot-provider}/pom.xml | 91 ++--
.../springboot/demo/provider/DemoServiceImpl.java | 21 +-
.../demo/provider/ProviderApplication.java} | 20 +-
.../src/main/resources/application.yml | 29 ++
.../src/main/resources/log4j.properties | 0
.../dubbo-demo-spring-boot}/pom.xml | 28 +-
.../apache/dubbo/demo/consumer/ApiConsumer.java | 12 +-
.../dubbo/demo/consumer/ApiWrapperConsumer.java | 9 +-
.../apache/dubbo/demo/provider/ApiProvider.java | 10 +-
.../dubbo/demo/provider/ApiWrapperProvider.java | 10 +-
.../src/main/resources/spring/dubbo-consumer.xml | 4 +
.../demo/provider/chain/ChainServiceImpl.java | 33 --
.../src/main/resources/dubbo.properties | 1 -
.../main/resources/spring/dubbo-provider-chain.xml | 35 --
dubbo-demo/pom.xml | 1 +
dubbo-dependencies-bom/pom.xml | 20 +-
dubbo-distribution/dubbo-all/pom.xml | 4 -
dubbo-metadata/dubbo-metadata-api/pom.xml | 6 -
.../org/apache/dubbo/metadata/MetadataInfo.java | 4 +
.../apache/dubbo/metadata/RevisionResolver.java | 4 +-
.../dubbo/metadata/rest/SpringRestService.java | 10 +-
.../dubbo/metadata/rest/SpringRestService.java | 10 +-
.../metadata/store/nacos/NacosMetadataReport.java | 14 +-
dubbo-metadata/dubbo-metadata-report-redis/pom.xml | 5 -
.../dubbo-metadata-report-zookeeper/pom.xml | 5 -
.../zookeeper/ZookeeperMetadataReportTest.java | 21 +-
.../java/org/apache/dubbo/monitor/Constants.java | 36 +-
.../org/apache/dubbo/monitor/MonitorService.java | 38 --
.../dubbo/monitor/support/MonitorFilter.java | 43 +-
.../dubbo/monitor/support/MonitorFilterTest.java | 39 +-
.../apache/dubbo/monitor/dubbo/DubboMonitor.java | 141 +++---
.../apache/dubbo/monitor/dubbo/MetricsFilter.java | 6 +-
.../org/apache/dubbo/monitor/dubbo/Statistics.java | 23 +-
.../apache/dubbo/monitor/dubbo/StatisticsItem.java | 132 ++++++
.../dubbo/monitor/dubbo/DubboMonitorTest.java | 106 +++--
.../dubbo/monitor/dubbo/MetricsFilterTest.java | 8 +-
.../apache/dubbo/monitor/dubbo/StatisticsTest.java | 54 ++-
.../META-INF/native-image/reflect-config.json | 8 +-
.../router/state/StateRouterFactory$Adaptive.java | 6 +-
.../dubbo/qos/command/CommandContextFactory.java | 6 +-
.../qos/command/decoder/HttpCommandDecoder.java | 6 +-
.../apache/dubbo/qos/command/impl/BaseOffline.java | 5 +-
.../dubbo/qos/command/impl/ChangeTelnet.java | 3 +-
.../apache/dubbo/qos/command/impl/CountTelnet.java | 4 +-
.../org/apache/dubbo/qos/command/impl/Help.java | 14 +-
.../dubbo/qos/command/impl/InvokeTelnet.java | 13 +-
.../org/apache/dubbo/qos/command/impl/Live.java | 23 +-
.../apache/dubbo/qos/command/impl/OfflineApp.java | 3 -
.../org/apache/dubbo/qos/command/impl/Online.java | 12 +-
.../apache/dubbo/qos/command/impl/OnlineApp.java | 2 +-
.../apache/dubbo/qos/command/impl/PortTelnet.java | 2 +-
.../apache/dubbo/qos/command/impl/PwdTelnet.java | 3 +-
.../dubbo/qos/command/impl/SelectTelnet.java | 3 +-
.../dubbo/qos/command/util/CommandHelper.java | 2 +-
.../dubbo/qos/legacy/ChangeTelnetHandler.java | 3 +-
.../dubbo/qos/legacy/TraceTelnetHandler.java | 6 +-
.../org/apache/dubbo/qos/probe/LivenessProbe.java | 2 +-
.../org/apache/dubbo/qos/probe/ReadinessProbe.java | 2 +-
.../org/apache/dubbo/qos/probe/StartupProbe.java | 2 +-
.../qos/server/handler/HttpProcessHandler.java | 4 +-
.../command/decoder/HttpCommandDecoderTest.java | 10 +-
.../dubbo/qos/command/impl/InvokeTelnetTest.java | 10 +-
.../apache/dubbo/qos/command/impl/LiveTest.java | 52 +++
.../org/apache/dubbo/qos/command/impl/LsTest.java | 177 ++++----
.../dubbo/qos/command/impl/MockLivenessProbe.java | 24 +-
.../apache/dubbo/qos/command/impl/OfflineTest.java | 170 +++++---
.../apache/dubbo/qos/command/impl/OnlineTest.java | 162 ++++---
.../qos/command/impl/PublishMetadataTest.java | 78 ++++
.../apache/dubbo/qos/command/impl/ReadyTest.java | 78 ++++
.../apache/dubbo/qos/command/impl/StartupTest.java | 75 ++++
.../dubbo/qos/legacy/service/DemoServiceImpl.java | 4 +-
.../qos/server/handler/HttpProcessHandlerTest.java | 16 +-
.../org.apache.dubbo.qos.probe.LivenessProbe | 1 +
.../dubbo/registry/ListenerRegistryWrapper.java | 4 +-
.../registry/client/DefaultServiceInstance.java | 76 +++-
.../dubbo/registry/client/InstanceAddressURL.java | 6 +-
.../client/ServiceDiscoveryRegistryDirectory.java | 47 +-
.../dubbo/registry/client/ServiceInstance.java | 10 +-
.../listener/ServiceInstancesChangedListener.java | 7 +-
.../registry/client/metadata/MetadataUtils.java | 4 +-
.../StandardMetadataServiceURLBuilder.java | 10 +-
.../DefaultMigrationAddressComparator.java | 20 +-
.../client/migration/MigrationInvoker.java | 2 +-
.../integration/AbstractConfiguratorListener.java | 27 +-
.../registry/integration/DynamicDirectory.java | 30 +-
.../registry/integration/RegistryDirectory.java | 89 ++--
.../support/CacheableFailbackRegistry.java | 2 +-
.../client/DefaultServiceInstanceTest.java | 2 +-
.../client/metadata/MetadataUtilsTest.java | 31 +-
.../StandardMetadataServiceURLBuilderTest.java | 9 +-
.../registry/support/FailbackRegistryTest.java | 38 +-
dubbo-registry/dubbo-registry-multiple/pom.xml | 5 -
.../multiple/MultipleRegistry2S2RTest.java | 61 +--
.../apache/dubbo/registry/nacos/NacosRegistry.java | 45 +-
dubbo-registry/dubbo-registry-zookeeper/pom.xml | 5 -
.../registry/zookeeper/ZookeeperRegistryTest.java | 24 +-
.../zookeeper/ZookeeperServiceDiscoveryTest.java | 14 +-
.../zookeeper/util/CuratorFrameworkUtilsTest.java | 16 +-
.../org/apache/dubbo/remoting/api/SslContexts.java | 50 ++-
.../exchange/PortUnificationExchanger.java | 5 +-
.../remoting/exchange/codec/ExchangeCodec.java | 2 -
.../telnet/support/command/ClearTelnetHandler.java | 3 +-
.../telnet/support/command/ExitTelnetHandler.java | 2 +-
.../telnet/support/command/HelpTelnetHandler.java | 66 +--
.../dubbo/remoting/transport/AbstractClient.java | 28 +-
.../dubbo/remoting/http/jetty/JettyHttpServer.java | 9 +-
.../remoting/http/jetty/JettyLoggerAdapter.java | 157 +++++++
.../http/jetty/JettyLoggerAdapterTest.java | 127 ++++++
.../src/test/resources/log4j.xml | 41 ++
.../dubbo-remoting-zookeeper-curator5/pom.xml | 6 -
.../curator5/Curator5ZookeeperClient.java | 12 +-
.../curator5/Curator5ZookeeperClientTest.java | 27 +-
.../curator5/Curator5ZookeeperTransporterTest.java | 21 +-
.../support/AbstractZookeeperTransporterTest.java | 134 ++----
dubbo-remoting/dubbo-remoting-zookeeper/pom.xml | 5 -
.../zookeeper/curator/CuratorZookeeperClient.java | 12 +-
.../curator/CuratorZookeeperClientTest.java | 27 +-
.../curator/CuratorZookeeperTransporterTest.java | 22 +-
.../support/AbstractZookeeperTransporterTest.java | 137 +++---
.../org/apache/dubbo/rpc/RpcContextAttachment.java | 4 +-
.../java/org/apache/dubbo/rpc/RpcInvocation.java | 20 +-
.../org/apache/dubbo/rpc/filter/ContextFilter.java | 2 +-
.../apache/dubbo/rpc/CancellationContextTest.java | 61 +++
.../dubbo/rpc/protocol/grpc/GrpcOptionsUtils.java | 48 +-
.../dubbo/rpc/protocol/grpc/GrpcProtocolTest.java | 8 +-
.../dubbo/rpc/protocol/injvm/InjvmInvoker.java | 6 +-
.../rpc/protocol/tri/AbstractClientStream.java | 6 +-
.../dubbo/rpc/protocol/tri/AbstractStream.java | 5 +-
.../tri/ClientOutboundTransportObserver.java | 36 +-
.../apache/dubbo/rpc/protocol/tri/Compressor.java | 3 +
.../apache/dubbo/rpc/protocol/tri/GrpcStatus.java | 2 +-
.../protocol/tri/OutboundTransportObserver.java | 16 +-
.../tri/ServerOutboundTransportObserver.java | 51 +--
.../rpc/protocol/tri/SingleProtobufUtils.java | 17 +-
.../dubbo/rpc/protocol/tri/TransportState.java | 3 +-
.../protocol/tri/TripleClientRequestHandler.java | 5 +-
.../protocol/tri/TripleCommandOutBoundHandler.java | 29 +-
.../dubbo/rpc/protocol/tri/TripleHeaderEnum.java | 3 -
.../tri/TripleHttp2FrameServerHandler.java | 25 +-
.../rpc/protocol/tri/TripleHttp2Protocol.java | 1 +
.../dubbo/rpc/protocol/tri/TripleProtocol.java | 3 -
.../dubbo/rpc/protocol/tri/UnaryClientStream.java | 2 +-
.../dubbo/rpc/protocol/tri/UnaryServerStream.java | 2 +-
.../apache/dubbo/rpc/protocol/tri/WriteQueue.java | 87 ++++
.../protocol/tri/command/CancelQueueCommand.java | 34 +-
.../rpc/protocol/tri/command/DataQueueCommand.java | 99 +++++
.../protocol/tri/command/FlushQueueCommand.java | 15 +-
.../protocol/tri/command/HeaderQueueCommand.java | 81 ++++
.../rpc/protocol/tri/command/QueuedCommand.java | 69 +++
.../protocol/tri/command/TextDataQueueCommand.java | 46 ++
.../protocol/tri/service/TriBuiltinService.java | 2 +-
.../rpc/protocol/tri/service/TriHealthImpl.java | 2 +-
.../dubbo/rpc/protocol/tri/AbstractStreamTest.java | 118 +++++
.../dubbo/rpc/protocol/tri/ClientStreamTest.java | 367 ++++++++++++++++
.../rpc/protocol/tri/GrpcDataDecoderTest.java | 101 +++++
.../dubbo/rpc/protocol/tri/ServerStreamTest.java | 291 +++++++++++++
.../rpc/protocol/tri/SingleProtobufUtilsTest.java | 77 ++++
.../dubbo/rpc/protocol/tri/TransportStateTest.java | 2 +-
.../tri/TripleHttp2ClientResponseHandlerTest.java | 107 +++++
.../dubbo/rpc/protocol/tri/TripleProtocolTest.java | 52 ++-
.../dubbo/rpc/protocol/tri/WriteQueueTest.java | 113 +++++
.../tri/service/TriBuiltinServiceTest.java | 43 ++
.../protocol/tri/service/TriHealthImplTest.java | 129 ++++++
.../dubbo/rpc/protocol/tri/support/IGreeter.java | 4 +
.../rpc/protocol/tri/support/IGreeterImpl.java | 15 +-
.../tri/support/MockAbstractStreamImpl.java | 34 +-
.../{IGreeterImpl.java => MockStreamObserver.java} | 44 +-
.../dubbo/DefaultHessian2FactoryInitializer.java | 2 +-
.../dubbo/WhitelistHessian2FactoryInitializer.java | 2 +-
.../DubboListenerAutoConfiguration.java | 7 -
.../src/main/resources/META-INF/spring.factories | 2 +
dubbo-test/dubbo-test-check/pom.xml | 37 +-
...bstractRegistryCenterTestExecutionListener.java | 100 +++++
.../dubbo/test/check/RegistryCenterFinished.java | 28 +-
.../dubbo/test/check/RegistryCenterStarted.java | 50 +++
.../test/check/exception/DubboTestException.java | 43 ++
.../dubbo/test/check/registrycenter/Config.java | 67 +++
.../dubbo/test/check/registrycenter/Context.java | 6 +-
.../registrycenter/GlobalRegistryCenter.java} | 35 +-
.../test/check/registrycenter/Initializer.java | 14 +-
.../dubbo/test/check/registrycenter/Processor.java | 22 +-
.../test/check/registrycenter/RegistryCenter.java | 31 +-
.../registrycenter/ZookeeperRegistryCenter.java | 239 ++++++++++
.../registrycenter/config/ZookeeperConfig.java | 175 ++++++++
.../config/ZookeeperRegistryCenterConfig.java | 84 ++++
.../registrycenter/context/ZookeeperContext.java | 92 ++++
.../context/ZookeeperWindowsContext.java | 110 +++++
.../initializer/ConfigZookeeperInitializer.java | 143 ++++++
.../initializer/DownloadZookeeperInitializer.java | 177 ++++++++
.../initializer/UnpackZookeeperInitializer.java | 114 +++++
.../initializer/ZookeeperInitializer.java | 51 +++
.../processor/FindPidWindowsProcessor.java | 119 +++++
.../processor/KillProcessWindowsProcessor.java | 61 +++
.../processor/ResetZookeeperProcessor.java | 55 +++
.../processor/StartZookeeperUnixProcessor.java | 68 +++
.../processor/StartZookeeperWindowsProcessor.java | 81 ++++
.../processor/StopZookeeperUnixProcessor.java | 66 +++
.../processor/StopZookeeperWindowsProcessor.java | 52 +++
.../processor/ZookeeperUnixProcessor.java | 109 +++++
.../processor/ZookeeperWindowsProcessor.java | 41 ++
...g.junit.platform.launcher.TestExecutionListener | 4 +
dubbo-test/dubbo-test-common/pom.xml | 12 -
.../dubbo/test/common/EmbeddedZooKeeper.java | 248 -----------
.../apache/dubbo/test/common/ZooKeeperServer.java | 57 ---
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../test/common/registrycenter/RegistryCenter.java | 70 ---
.../ZookeeperMultipleRegistryCenter.java | 43 --
.../registrycenter/ZookeeperRegistryCenter.java | 142 ------
.../test/spring/SpringAnnotationBeanTest.java | 7 -
.../test/spring/SpringJavaConfigBeanTest.java | 10 +-
.../dubbo/test/spring/SpringXmlConfigTest.java | 6 -
.../src/main/resources/demo-app.properties | 6 +-
.../src/main/resources/spring/dubbo-demo.xml | 6 +-
534 files changed, 12634 insertions(+), 5970 deletions(-)
diff --cc dubbo-common/src/main/java/org/apache/dubbo/common/config/CompositeConfiguration.java
index d4e4774,887591b..154a993
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/CompositeConfiguration.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/CompositeConfiguration.java
@@@ -18,10 -18,11 +18,11 @@@ package org.apache.dubbo.common.config
import org.apache.dubbo.common.logger.Logger;
import org.apache.dubbo.common.logger.LoggerFactory;
+ import org.apache.dubbo.common.utils.ArrayUtils;
import java.util.Arrays;
-import java.util.LinkedList;
import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
/**
* This is an abstraction specially customized for the sequence Dubbo retrieves properties.
diff --cc dubbo-common/src/main/java/org/apache/dubbo/common/deploy/AbstractDeployer.java
index e01b46ac,ba53201..704f0ea
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/deploy/AbstractDeployer.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/deploy/AbstractDeployer.java
@@@ -37,9 -37,11 +37,11 @@@ public abstract class AbstractDeployer<
private volatile DeployState state = PENDING;
+ private volatile Throwable lastError;
+
protected AtomicBoolean initialized = new AtomicBoolean(false);
- private List<DeployListener<E>> listeners = new ArrayList<>();
+ protected List<DeployListener<E>> listeners = new ArrayList<>();
private E scopeModel;
diff --cc dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
index 4a1a8df,0a07fc3..880fce3
--- 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
@@@ -739,12 -727,10 +748,11 @@@ public class ServiceConfig<T> extends S
* @param name
* @return
*/
- private Integer findConfigedPorts(ProtocolConfig protocolConfig,
- String name,
- Map<String, String> map) {
+ private static synchronized Integer findConfiguredPort(ProtocolConfig protocolConfig,
+ ProviderConfig provider,
+ ExtensionLoader<Protocol> extensionLoader,
- String name,
- Map<String, String> map) {
- Integer portToBind = null;
++ String name,Map<String, String> map) {
+ Integer portToBind;
// parse bind port from environment
String port = getValueFromConfig(protocolConfig, DUBBO_PORT_TO_BIND);
@@@ -769,20 -755,20 +777,20 @@@
}
}
- // registry port, not used as binding port by default
+ // save bind port, used as url's key later
+ map.put(BIND_PORT_KEY, String.valueOf(portToBind));
+
+ // registry port, not used as bind port by default
String portToRegistryStr = getValueFromConfig(protocolConfig, DUBBO_PORT_TO_REGISTRY);
Integer portToRegistry = parsePort(portToRegistryStr);
- if (portToRegistry != null) {
- portToBind = portToRegistry;
+ if (portToRegistry == null) {
+ portToRegistry = portToBind;
}
- // save binding port, will be used as key in url later
- map.put(BIND_PORT_KEY, String.valueOf(portToBind));
-
- return portToBind;
+ return portToRegistry;
}
- private Integer parsePort(String configPort) {
+ private static Integer parsePort(String configPort) {
Integer port = null;
if (configPort != null && configPort.length() > 0) {
try {
diff --cc dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
index 7645b6c,3688d67..b8ffa6f
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
@@@ -548,29 -581,30 +553,30 @@@ public class DefaultApplicationDeploye
startModules();
// prepare application instance
- prepareApplicationInstance();
+// prepareApplicationInstance();
- executorRepository.getSharedExecutor().submit(() -> {
- try {
- while (isStarting()) {
- // notify when any module state changed
- synchronized (stateLock) {
- try {
- stateLock.wait(500);
- } catch (InterruptedException e) {
- // ignore
- }
- }
-
- // if has new module, do start again
- if (hasPendingModule()) {
- startModules();
- }
- }
- } catch (Exception e) {
- logger.warn("waiting for application startup occurred an exception", e);
- }
- });
+ // Ignore checking new module after start
+ // executorRepository.getSharedExecutor().submit(() -> {
+ // try {
+ // while (isStarting()) {
+ // // notify when any module state changed
+ // synchronized (stateLock) {
+ // try {
+ // stateLock.wait(500);
+ // } catch (InterruptedException e) {
+ // // ignore
+ // }
+ // }
+ //
+ // // if has new module, do start again
+ // if (hasPendingModule()) {
+ // startModules();
+ // }
+ // }
+ // } catch (Throwable e) {
+ // onFailed(getIdentifier() + " check start occurred an exception", e);
+ // }
+ // });
}
private void startModules() {
@@@ -910,15 -1035,12 +938,12 @@@
}
// refresh metadata
try {
- if (serviceInstance != null) {
- ServiceInstanceMetadataUtils.refreshMetadataAndInstance(serviceInstance);
+ if (registered) {
+ ServiceInstanceMetadataUtils.refreshMetadataAndInstance(applicationModel);
}
} catch (Exception e) {
- logger.error("refresh metadata failed: " + e.getMessage(), e);
+ logger.error("refresh meta and instance failed: " + e.getMessage(), e);
}
- // shutdown export/refer executor after started
- executorRepository.shutdownServiceExportExecutor();
- executorRepository.shutdownServiceReferExecutor();
} finally {
// complete future
completeStartFuture(true);
diff --cc dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java
index de27724,173b343..30d2892
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java
@@@ -127,41 -127,50 +127,50 @@@ public class DefaultModuleDeployer exte
throw new IllegalStateException(getIdentifier() + " is stopping or stopped, can not start again");
}
- if (isStarting() || isStarted()) {
- return startFuture;
- }
+ try {
+ if (isStarting() || isStarted()) {
+ return startFuture;
+ }
- onModuleStarting();
+ onModuleStarting();
- // initialize
- applicationDeployer.initialize();
- initialize();
+ // initialize
+ applicationDeployer.initialize();
+ initialize();
- // export services
- exportServices();
+ // export services
+ exportServices();
- // prepare application instance
- // exclude internal module to avoid wait itself
- if (moduleModel != moduleModel.getApplicationModel().getInternalModule()) {
- applicationDeployer.prepareApplicationInstance();
- }
+ // prepare application instance
+ // exclude internal module to avoid wait itself
+ if (moduleModel != moduleModel.getApplicationModel().getInternalModule()) {
+ applicationDeployer.prepareInternalModule();
+ }
- // refer services
- referServices();
-
- executorRepository.getSharedExecutor().submit(() -> {
- try {
- // wait for export finish
- waitExportFinish();
- // wait for refer finish
- waitReferFinish();
- } catch (Throwable e) {
- logger.warn("wait for export/refer services occurred an exception", e);
- } finally {
+ // refer services
+ referServices();
+
+ // if no async export/refer services, just set started
+ if (asyncExportingFutures.isEmpty() && asyncReferringFutures.isEmpty()) {
onModuleStarted();
+ } else {
+ executorRepository.getSharedExecutor().submit(() -> {
+ try {
+ // wait for export finish
+ waitExportFinish();
+ // wait for refer finish
+ waitReferFinish();
+ } catch (Throwable e) {
+ logger.warn("wait for export/refer services occurred an exception", e);
+ } finally {
+ onModuleStarted();
+ }
+ });
}
- });
-
+ } catch (Throwable e) {
+ onModuleFailed(getIdentifier() + " start failed: " + e.toString(), e);
+ throw e;
+ }
return startFuture;
}
diff --cc dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapTest.java
index e989cc8,15707bd..201991f
--- 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
@@@ -288,7 -275,7 +274,7 @@@ public class DubboBootstrapTest
.service(service)
.start();
-- assertMetadataService(bootstrap, availablePort, true);
++ assertMetadataService(bootstrap, availablePort, false);
}
@Test
diff --cc dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryRegistryServiceListener.java
index 50ae00f,519f75a..f84a9b8
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryRegistryServiceListener.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryRegistryServiceListener.java
@@@ -21,8 -21,10 +21,8 @@@ import org.apache.dubbo.common.extensio
import org.apache.dubbo.registry.Registry;
import org.apache.dubbo.registry.RegistryServiceListener;
import org.apache.dubbo.registry.client.ServiceDiscoveryRegistry;
-import org.apache.dubbo.registry.client.metadata.store.InMemoryWritableMetadataService;
- import static org.apache.dubbo.integration.Constants.MULTIPLE_CONFIG_CENTER_SERVICE_DISCOVERY_REGISTRY;
+ import static org.apache.dubbo.config.integration.Constants.MULTIPLE_CONFIG_CENTER_SERVICE_DISCOVERY_REGISTRY;
@Activate(value = MULTIPLE_CONFIG_CENTER_SERVICE_DISCOVERY_REGISTRY)
diff --cc dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/ServiceDiscoveryRegistryInfoWrapper.java
index f513003,a5f35f8..be60e4e
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/ServiceDiscoveryRegistryInfoWrapper.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/ServiceDiscoveryRegistryInfoWrapper.java
@@@ -14,10 -14,10 +14,10 @@@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
- package org.apache.dubbo.integration.multiple.servicediscoveryregistry;
+ package org.apache.dubbo.config.integration.multiple.servicediscoveryregistry;
+import org.apache.dubbo.config.metadata.MetadataServiceDelegation;
import org.apache.dubbo.registry.client.ServiceDiscoveryRegistry;
-import org.apache.dubbo.registry.client.metadata.store.InMemoryWritableMetadataService;
/**
* The instance to wrap {@link org.apache.dubbo.registry.client.ServiceDiscoveryRegistry}
diff --cc dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
index fb76315,5b4b8dd..5f9f3f6
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
@@@ -38,11 -36,10 +37,10 @@@ import org.apache.dubbo.registry.client
import org.apache.dubbo.registry.client.migration.MigrationInvoker;
import org.apache.dubbo.registry.support.RegistryManager;
import org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery;
- import org.apache.dubbo.registrycenter.RegistryCenter;
- import org.apache.dubbo.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.rpc.cluster.Directory;
import org.apache.dubbo.rpc.model.ApplicationModel;
+ import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
+
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
diff --cc dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-consumer/src/main/resources/spring/dubbo-consumer.xml
index e8c9521,a89803c..d04700d
--- a/dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-consumer/src/main/resources/spring/dubbo-consumer.xml
+++ b/dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-consumer/src/main/resources/spring/dubbo-consumer.xml
@@@ -26,8 -26,12 +26,12 @@@
<dubbo:metadata-report address="zookeeper://127.0.0.1:2181"/>
- <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
+ <dubbo:registry id="demo1" address="zookeeper://127.0.0.1:2181?registry-type=service"/>
+ <dubbo:protocol name="dubbo" port="-1"/>
+ <dubbo:protocol name="rest" port="-1"/>
+ <dubbo:protocol name="tri" port="-1"/>
+
<dubbo:reference id="demoService" check="false"
interface="org.apache.dubbo.demo.DemoService"/>
diff --cc dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
index 5221ed2,3c3a614..38f103e
--- a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
+++ b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
@@@ -85,42 -76,36 +85,46 @@@ public class MetadataInfo implements Se
this.revision = revision;
this.services = services == null ? new ConcurrentHashMap<>() : services;
this.extendParams = new ConcurrentHashMap<>();
+ this.instanceParams = new ConcurrentHashMap<>();
}
- public void addService(ServiceInfo serviceInfo) {
- if (serviceInfo == null) {
- return;
- }
+ public synchronized void addService(URL url) {
+ // fixme, pass in application mode context during initialization of MetadataInfo.
+ this.loader = url.getOrDefaultApplicationModel().getExtensionLoader(MetadataParamsFilter.class);
+ List<MetadataParamsFilter> filters = loader.getActivateExtension(url, "params-filter");
+ // generate service level metadata
+ ServiceInfo serviceInfo = new ServiceInfo(url, filters);
this.services.put(serviceInfo.getMatchKey(), serviceInfo);
- markChanged();
- }
+ // extract common instance level params
+ extractInstanceParams(url, filters);
- public void removeService(ServiceInfo serviceInfo) {
- if (serviceInfo == null) {
- return;
+ if (exportedServiceURLs == null) {
+ exportedServiceURLs = new ConcurrentSkipListMap<>();
}
- this.services.remove(serviceInfo.getMatchKey());
- markChanged();
+ addURL(exportedServiceURLs, url);
+ updated.compareAndSet(false, true);
}
- public void removeService(String key) {
- if (key == null) {
+ public synchronized void removeService(URL url) {
+ if (url == null) {
return;
}
- this.services.remove(key);
- markChanged();
+ this.services.remove(url.getProtocolServiceKey());
+ if (exportedServiceURLs != null) {
+ removeURL(exportedServiceURLs, url);
+ }
+
+ updated.compareAndSet(false, true);
+ }
+
+ public String getRevision() {
+ return revision;
}
+ public String getRevision() {
+ return revision;
+ }
+
/**
* Reported status and metadata modification must be synchronized if used in multiple threads.
*/
diff --cc dubbo-metadata/dubbo-metadata-report-nacos/src/main/java/org/apache/dubbo/metadata/store/nacos/NacosMetadataReport.java
index 3a7f116,23e866a..e22fa59
--- a/dubbo-metadata/dubbo-metadata-report-nacos/src/main/java/org/apache/dubbo/metadata/store/nacos/NacosMetadataReport.java
+++ b/dubbo-metadata/dubbo-metadata-report-nacos/src/main/java/org/apache/dubbo/metadata/store/nacos/NacosMetadataReport.java
@@@ -34,13 -39,8 +39,7 @@@ import org.apache.dubbo.metadata.report
import org.apache.dubbo.metadata.report.identifier.ServiceMetadataIdentifier;
import org.apache.dubbo.metadata.report.identifier.SubscriberMetadataIdentifier;
import org.apache.dubbo.metadata.report.support.AbstractMetadataReport;
-import org.apache.dubbo.rpc.RpcException;
- import com.alibaba.nacos.api.NacosFactory;
- import com.alibaba.nacos.api.PropertyKeyConst;
- import com.alibaba.nacos.api.config.listener.AbstractSharedListener;
- import com.alibaba.nacos.api.exception.NacosException;
- import com.google.gson.Gson;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
diff --cc dubbo-metadata/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
index 9c07dbb,86732aa..28873d7
--- a/dubbo-metadata/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
+++ b/dubbo-metadata/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
@@@ -30,12 -29,9 +31,10 @@@ import org.apache.dubbo.metadata.report
import org.apache.dubbo.metadata.report.identifier.ServiceMetadataIdentifier;
import org.apache.dubbo.metadata.report.identifier.SubscriberMetadataIdentifier;
import org.apache.dubbo.rpc.model.ApplicationModel;
+
- import com.google.gson.Gson;
- 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.BeforeAll;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
diff --cc dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java
index a191826,f7f5aaa..cdfbf78
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java
@@@ -130,16 -140,23 +130,19 @@@ public class ServiceInstancesChangedLis
String revision = entry.getKey();
List<ServiceInstance> subInstances = entry.getValue();
ServiceInstance instance = selectInstance(subInstances);
- MetadataInfo metadata = getRemoteMetadata(revision, localServiceToRevisions, instance);
+ MetadataInfo metadata = serviceDiscovery.getRemoteMetadata(revision, instance);
+ parseMetadata(revision, metadata, localServiceToRevisions);
// update metadata into each instance, in case new instance created.
for (ServiceInstance tmpInstance : subInstances) {
- ((DefaultServiceInstance) tmpInstance).setServiceMetadata(metadata);
+ MetadataInfo originMetadata = ((DefaultServiceInstance) tmpInstance).getServiceMetadata();
+ if (originMetadata == null || !Objects.equals(originMetadata.getRevision(), metadata.getRevision())) {
+ ((DefaultServiceInstance) tmpInstance).setServiceMetadata(metadata);
+ }
}
-// ((DefaultServiceInstance) instance).setServiceMetadata(metadata);
- newRevisionToMetadata.putIfAbsent(revision, metadata);
- }
-
- if (logger.isDebugEnabled()) {
- logger.debug(newRevisionToMetadata.size() + " unique revisions: " + newRevisionToMetadata.keySet());
}
- if (hasEmptyMetadata(newRevisionToMetadata)) {// retry every 10 seconds
+ if (hasEmptyMetadata(revisionToInstances)) {// retry every 10 seconds
+ hasEmptyMetadata = true;
if (retryPermission.tryAcquire()) {
if (retryFuture != null && !retryFuture.isDone()) {
// cancel last retryFuture because only one retryFuture will be canceled at destroy().
diff --cc dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/StandardMetadataServiceURLBuilderTest.java
index 052e123,d69a6dd..b297f1c
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/StandardMetadataServiceURLBuilderTest.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/metadata/StandardMetadataServiceURLBuilderTest.java
@@@ -64,9 -65,10 +66,10 @@@ public class StandardMetadataServiceURL
assertEquals(url.getGroup(), "test");
assertEquals(url.getSide(), "consumer");
assertEquals(url.getVersion(), "1.0.0");
- assertEquals(url.getParameters().get("getAndListenInstanceMetadata.1.callback"), "true");
+// assertEquals(url.getParameters().get("getAndListenInstanceMetadata.1.callback"), "true");
assertEquals(url.getParameters().get("reconnect"), "false");
assertEquals(url.getParameters().get("timeout"), "5000");
+ assertEquals(url.getApplicationModel(), ApplicationModel.defaultModel());
// test generateWithMetadata
urls = builder.build(serviceInstance);
diff --cc dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscoveryTest.java
index dd7c4c5,aa54bd9..784d5ac
--- a/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscoveryTest.java
+++ b/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscoveryTest.java
@@@ -23,9 -24,10 +23,10 @@@ import org.apache.dubbo.registry.client
import org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent;
import org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener;
import org.apache.dubbo.rpc.model.ApplicationModel;
-import org.apache.dubbo.rpc.model.ScopeModelUtil;
+import org.apache.curator.test.TestingServer;
import org.junit.jupiter.api.AfterEach;
+ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.internal.util.collections.Sets;
@@@ -59,15 -67,10 +64,11 @@@ public class ZookeeperServiceDiscoveryT
@BeforeEach
public void init() throws Exception {
- zkServerPort = getAvailablePort();
- zkServer = new TestingServer(zkServerPort, true);
- zkServer.start();
-
- this.registryUrl = URL.valueOf(zookeeperConnectionAddress1);
- registryUrl.setScopeModel(ApplicationModel.defaultModel());
- this.discovery = new ZookeeperServiceDiscovery();
- this.discovery.initialize(registryUrl);
+ this.registryUrl = URL.valueOf("zookeeper://127.0.0.1:" + zkServerPort);
+ ApplicationModel applicationModel = ApplicationModel.defaultModel();
+ applicationModel.getApplicationConfigManager().setApplication(new ApplicationConfig(SERVICE_NAME));
+ registryUrl.setScopeModel(applicationModel);
+ this.discovery = new ZookeeperServiceDiscovery(applicationModel, registryUrl);
}
@AfterEach
diff --cc dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtilsTest.java
index 11bfa06,71ad98f..1eec916
--- a/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtilsTest.java
+++ b/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtilsTest.java
@@@ -45,28 -38,17 +43,20 @@@ import static org.apache.dubbo.registry
* {@link CuratorFrameworkUtils} Test
*/
class CuratorFrameworkUtilsTest {
- private static TestingServer zkServer;
private static URL registryUrl;
+ private static String zookeeperConnectionAddress1;
+ private static MetadataReport metadataReport;
@BeforeAll
public static void init() throws Exception {
- int zkServerPort = getAvailablePort();
- zkServer = new TestingServer(zkServerPort, true);
- zkServer.start();
+ zookeeperConnectionAddress1 = System.getProperty("zookeeper.connection.address.1");
- registryUrl = URL.valueOf("zookeeper://127.0.0.1:" + zkServerPort);
+ registryUrl = URL.valueOf(zookeeperConnectionAddress1);
registryUrl.setScopeModel(ApplicationModel.defaultModel());
+
+ metadataReport = Mockito.mock(MetadataReport.class);
}
- @AfterAll
- public static void tearDown() throws Exception {
- zkServer.stop();
- }
-
-
@Test
void testBuildCuratorFramework() throws Exception {
CuratorFramework curatorFramework = CuratorFrameworkUtils.buildCuratorFramework(registryUrl);
diff --cc dubbo-test/dubbo-test-spring/src/main/java/org/apache/dubbo/test/spring/SpringXmlConfigTest.java
index 484940a,5530de7..7171b5d
--- a/dubbo-test/dubbo-test-spring/src/main/java/org/apache/dubbo/test/spring/SpringXmlConfigTest.java
+++ b/dubbo-test/dubbo-test-spring/src/main/java/org/apache/dubbo/test/spring/SpringXmlConfigTest.java
@@@ -21,10 -21,7 +21,8 @@@ import org.apache.dubbo.test.common.Sys
import org.apache.dubbo.test.common.api.DemoService;
import org.apache.dubbo.test.common.api.GreetingService;
import org.apache.dubbo.test.common.api.RestDemoService;
- import org.apache.dubbo.test.common.registrycenter.RegistryCenter;
- import org.apache.dubbo.test.common.registrycenter.ZookeeperSingleRegistryCenter;
import org.apache.dubbo.test.spring.context.MockSpringInitCustomizer;
+
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@@ -35,25 -32,14 +33,21 @@@ import static org.apache.dubbo.common.c
public class SpringXmlConfigTest {
- private static RegistryCenter registryCenter;
+ private static ClassPathXmlApplicationContext providerContext;
+
@BeforeAll
public static void beforeAll() {
- registryCenter = new ZookeeperSingleRegistryCenter();
- registryCenter.startup();
DubboBootstrap.reset();
}
@AfterAll
public static void afterAll(){
DubboBootstrap.reset();
- registryCenter.shutdown();
+ providerContext.close();
+ }
+
+ private void startProvider() {
+ providerContext = new ClassPathXmlApplicationContext("/spring/dubbo-demo-provider.xml");
}
@Test
[dubbo] 03/04: fix merge conflicts
Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.0-metadata-refactor
in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit a51bc86e56f8ead3af069c9f9def2569e63eda4d
Author: ken.lj <ke...@gmail.com>
AuthorDate: Tue Dec 7 12:17:19 2021 +0800
fix merge conflicts
---
.../reporter/MockFrameworkStatusReporter.java | 33 ++
.../config/deploy/DefaultApplicationDeployer.java | 6 +-
.../dubbo/config/bootstrap/DubboBootstrapTest.java | 2 +-
...terServiceDiscoveryRegistryIntegrationTest.java | 6 +-
...RegistryCenterDubboProtocolIntegrationTest.java | 2 +-
.../metadata/MetadataServiceExporterTest.java | 252 ------------
.../dubbo/config/mock/MockServiceDiscovery.java | 4 +-
.../metadata/MetadataServiceExporterTest.java | 435 ++++++++++-----------
.../spring/registry/MockServiceDiscovery.java | 4 +-
.../org/apache/dubbo/metadata/MetadataInfo.java | 4 -
.../registry/client/AbstractServiceDiscovery.java | 63 +--
.../dubbo/registry/client/NopServiceDiscovery.java | 2 +-
.../dubbo/registry/client/ServiceInstance.java | 5 +
.../client/support/MockServiceDiscovery.java | 4 +-
.../multicast/MulticastServiceDiscovery.java | 4 +-
.../registry/nacos/NacosServiceDiscovery.java | 2 +-
.../registry/nacos/NacosServiceDiscoveryTest.java | 2 +-
.../zookeeper/ZookeeperServiceDiscovery.java | 2 +-
.../zookeeper/ZookeeperServiceDiscoveryTest.java | 4 +-
.../zookeeper/util/CuratorFrameworkUtilsTest.java | 3 +-
20 files changed, 309 insertions(+), 530 deletions(-)
diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/status/reporter/MockFrameworkStatusReporter.java b/dubbo-common/src/test/java/org/apache/dubbo/common/status/reporter/MockFrameworkStatusReporter.java
new file mode 100644
index 0000000..5e2af5f
--- /dev/null
+++ b/dubbo-common/src/test/java/org/apache/dubbo/common/status/reporter/MockFrameworkStatusReporter.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.common.status.reporter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class MockFrameworkStatusReporter implements FrameworkStatusReporter {
+ Map<String, Object> reportContent = new HashMap<>();
+
+ @Override
+ public void report(String type, Object obj) {
+ reportContent.put(type, obj);
+ }
+
+ public Map<String, Object> getReportContent() {
+ return reportContent;
+ }
+}
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
index b8ffa6f..c535209 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
@@ -825,11 +825,11 @@ public class DefaultApplicationDeployer extends AbstractDeployer<ApplicationMode
case FAILED:
Throwable error = null;
ModuleModel errorModule = null;
- for (ModuleModel moduleModel : applicationModel.getModuleModels()) {
- ModuleDeployer deployer = moduleModel.getDeployer();
+ for (ModuleModel module : applicationModel.getModuleModels()) {
+ ModuleDeployer deployer = module.getDeployer();
if (deployer.isFailed() && deployer.getError() != null) {
error = deployer.getError();
- errorModule = moduleModel;
+ errorModule = module;
break;
}
}
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 201991f..12e53fd 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
@@ -42,8 +42,8 @@ import org.apache.dubbo.registry.RegistryService;
import org.apache.dubbo.rpc.Exporter;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol;
+import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
-import org.apache.curator.test.TestingServer;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java
index 579d3e9..1c2b154 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java
@@ -24,11 +24,11 @@ import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
+import org.apache.dubbo.config.integration.IntegrationTest;
import org.apache.dubbo.config.metadata.MetadataServiceDelegation;
-import org.apache.dubbo.integration.IntegrationTest;
import org.apache.dubbo.registry.RegistryServiceListener;
-import org.apache.dubbo.registrycenter.RegistryCenter;
-import org.apache.dubbo.registrycenter.ZookeeperMultipleRegistryCenter;
+import org.apache.dubbo.test.check.registrycenter.config.ZookeeperConfig;
+import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
index 5f9f3f6..290c863 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
@@ -26,8 +26,8 @@ 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.config.integration.IntegrationTest;
import org.apache.dubbo.config.metadata.MetadataServiceDelegation;
-import org.apache.dubbo.integration.IntegrationTest;
import org.apache.dubbo.metadata.MetadataInfo;
import org.apache.dubbo.metadata.MetadataService;
import org.apache.dubbo.registry.ListenerRegistryWrapper;
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/metadata/MetadataServiceExporterTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/metadata/MetadataServiceExporterTest.java
deleted file mode 100644
index da704e4..0000000
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/metadata/MetadataServiceExporterTest.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.config.metadata;
-
-import org.apache.dubbo.common.URL;
-import org.apache.dubbo.config.ApplicationConfig;
-import org.apache.dubbo.config.ProtocolConfig;
-import org.apache.dubbo.config.RegistryConfig;
-import org.apache.dubbo.config.ServiceConfig;
-import org.apache.dubbo.config.api.DemoService;
-import org.apache.dubbo.config.bootstrap.DubboBootstrap;
-import org.apache.dubbo.config.provider.impl.DemoServiceImpl;
-import org.apache.dubbo.metadata.MetadataService;
-import org.apache.dubbo.metadata.MetadataServiceExporter;
-import org.apache.dubbo.rpc.model.ApplicationModel;
-import org.apache.dubbo.rpc.model.FrameworkModel;
-import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-
-import java.util.List;
-
-import static org.apache.dubbo.common.constants.CommonConstants.COMPOSITE_METADATA_STORAGE_TYPE;
-import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_METADATA_STORAGE_TYPE;
-import static org.apache.dubbo.common.constants.CommonConstants.DUBBO_PROTOCOL;
-import static org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-/**
- * {@link MetadataServiceExporter} Test-Cases
- *
- * @since 2.7.8
- */
-public class MetadataServiceExporterTest {
-
- @BeforeEach
- public void init() {
- DubboBootstrap.reset();
-
- ApplicationConfig applicationConfig = new ApplicationConfig("Test");
- applicationConfig.setRegisterConsumer(true);
- ApplicationModel.defaultModel().getApplicationConfigManager().setApplication(applicationConfig);
- ApplicationModel.defaultModel().getApplicationConfigManager().addRegistry(new RegistryConfig("multicast://224.5.6.7:1234"));
- ApplicationModel.defaultModel().getApplicationConfigManager().addProtocol(new ProtocolConfig("injvm"));
- }
-
- @Test
- public void test() {
- MetadataService metadataService = Mockito.mock(MetadataService.class);
- ConfigurableMetadataServiceExporter exporter = new ConfigurableMetadataServiceExporter();
- exporter.setMetadataService(metadataService);
- exporter.setApplicationModel(ApplicationModel.defaultModel());
-
- exporter.export();
- assertTrue(exporter.isExported());
- exporter.unexport();
-
- assertTrue(exporter.supports(DEFAULT_METADATA_STORAGE_TYPE));
- assertTrue(exporter.supports(REMOTE_METADATA_STORAGE_TYPE));
- assertTrue(exporter.supports(COMPOSITE_METADATA_STORAGE_TYPE));
- }
-
- @Test
- public void test2() throws Exception {
-
- ApplicationModel applicationModel = ApplicationModel.defaultModel();
- ConfigurableMetadataServiceExporter exporter = (ConfigurableMetadataServiceExporter) applicationModel.getExtensionLoader(MetadataServiceExporter.class).getDefaultExtension();
- MetadataService metadataService = Mockito.mock(MetadataService.class);
- exporter.setMetadataService(metadataService);
-
- applicationModel.getDeployer().start().get();
- assertTrue(exporter.isExported());
- assertTrue(exporter.supports(DEFAULT_METADATA_STORAGE_TYPE));
- assertTrue(exporter.supports(REMOTE_METADATA_STORAGE_TYPE));
- assertTrue(exporter.supports(COMPOSITE_METADATA_STORAGE_TYPE));
-
- applicationModel.getDeployer().stop();
- assertFalse(exporter.isExported());
- }
-
- /**
- * test reuse of port started by normal service
- */
- @Test
- public void testPortReuse() throws Exception {
- DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
- ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
- serviceConfig.setInterface(DemoService.class);
- serviceConfig.setRef(new DemoServiceImpl());
-
- ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
- applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
-
- providerBootstrap
- .application(applicationConfig)
- .registry(registryConfig)
- .protocol(new ProtocolConfig("dubbo", 2002))
- .service(serviceConfig);
-
- // will start exporter
- providerBootstrap.start();
- ConfigurableMetadataServiceExporter exporter = (ConfigurableMetadataServiceExporter) providerBootstrap.getApplicationModel().getExtensionLoader(MetadataServiceExporter.class).getDefaultExtension();
-
- try {
- assertTrue(exporter.isExported());
- List<URL> urls = exporter.getExportedURLs();
- assertNotNull(urls);
- assertEquals(2002, urls.get(0).getPort());
- assertEquals(DUBBO_PROTOCOL, urls.get(0).getProtocol());
- } finally {
- providerBootstrap.stop();
- }
- assertFalse(exporter.isExported());
- }
-
- /**
- * test user specified port and protocol
- * @throws Exception
- */
- @Test
- public void testSpecifiedPortAndProtocol() throws Exception {
- DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
- ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
- serviceConfig.setInterface(DemoService.class);
- serviceConfig.setRef(new DemoServiceImpl());
-
- ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
- applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
- applicationConfig.setMetadataServiceProtocol("tri");
- applicationConfig.setMetadataServicePort(8089);
-
- providerBootstrap
- .application(applicationConfig)
- .registry(registryConfig)
- .protocol(new ProtocolConfig("dubbo", 2002))
- .service(serviceConfig);
-
- // will start exporter.export()
- providerBootstrap.start();
- ConfigurableMetadataServiceExporter exporter = (ConfigurableMetadataServiceExporter) providerBootstrap.getApplicationModel().getExtensionLoader(MetadataServiceExporter.class).getDefaultExtension();
-
- try {
- assertTrue(exporter.isExported());
- List<URL> urls = exporter.getExportedURLs();
- assertNotNull(urls);
- assertEquals(8089, urls.get(0).getPort());
- assertEquals("tri", urls.get(0).getProtocol());
- } finally {
- providerBootstrap.stop();
- }
- assertFalse(exporter.isExported());
- }
-
- @Test
- public void testMetadataStartsBeforeNormalService() throws Exception {
- DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
- ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
- serviceConfig.setInterface(DemoService.class);
- serviceConfig.setRef(new DemoServiceImpl());
- serviceConfig.setDelay(1000);
-
- ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
- applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
-// applicationConfig.setMetadataServiceProtocol("triple");
-// applicationConfig.setMetadataServicePort(8089);
-
- providerBootstrap
- .application(applicationConfig)
- .registry(registryConfig)
- .protocol(new ProtocolConfig("dubbo", 2002))
- .service(serviceConfig);
-
- // will start exporter.export()
- providerBootstrap.start();
- ConfigurableMetadataServiceExporter exporter = (ConfigurableMetadataServiceExporter) providerBootstrap.getApplicationModel().getExtensionLoader(MetadataServiceExporter.class).getDefaultExtension();
-
- try {
- assertTrue(exporter.isExported());
- List<URL> urls = exporter.getExportedURLs();
- assertNotNull(urls);
- assertNotEquals(2002, urls.get(0).getPort());
- assertEquals("dubbo", urls.get(0).getProtocol());
- } finally {
- providerBootstrap.stop();
- }
- assertFalse(exporter.isExported());
- }
-//
-// /**
-// * test multiple protocols
-// * @throws Exception
-// */
-// @Test
-// public void testMultiProtocols() throws Exception {
-// DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
-// ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
-// serviceConfig.setInterface(DemoService.class);
-// serviceConfig.setRef(new DemoServiceImpl());
-//
-// providerBootstrap
-// .application("provider-app")
-// .registry(registryConfig)
-// .protocol(new ProtocolConfig("dubbo", 2002))
-// .service(serviceConfig);
-//
-// ConfigurableMetadataServiceExporter exporter = (ConfigurableMetadataServiceExporter) applicationModel.getExtensionLoader(MetadataServiceExporter.class).getDefaultExtension();
-// MetadataService metadataService = Mockito.mock(MetadataService.class);
-// exporter.setMetadataService(metadataService);
-//
-// try {
-// providerBootstrap.start();
-// assertTrue(exporter.isExported());
-// assertTrue(exporter.supports(DEFAULT_METADATA_STORAGE_TYPE));
-// assertTrue(exporter.supports(REMOTE_METADATA_STORAGE_TYPE));
-// assertTrue(exporter.supports(COMPOSITE_METADATA_STORAGE_TYPE));
-// } finally {
-// providerBootstrap.stop();
-// }
-// assertFalse(exporter.isExported());
-// }
-
- private static RegistryConfig registryConfig;
-
- @BeforeAll
- public static void beforeAll() {
- FrameworkModel.destroyAll();
- registryConfig = new RegistryConfig(ZookeeperRegistryCenterConfig.getConnectionAddress());
- // pre-check threads
- //precheckUnclosedThreads();
- }
-
-}
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockServiceDiscovery.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockServiceDiscovery.java
index 2e8f204..11f584c 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockServiceDiscovery.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockServiceDiscovery.java
@@ -48,12 +48,12 @@ public class MockServiceDiscovery extends AbstractServiceDiscovery {
}
@Override
- public void doUpdate() throws RuntimeException {
+ public void doUpdate(ServiceInstance serviceInstance) throws RuntimeException {
this.serviceInstance = serviceInstance;
}
@Override
- public void doUnregister() throws RuntimeException {
+ public void doUnregister(ServiceInstance serviceInstance) throws RuntimeException {
this.serviceInstance = null;
}
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/metadata/MetadataServiceExporterTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/metadata/MetadataServiceExporterTest.java
index f633e32..6e60131 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/metadata/MetadataServiceExporterTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/metadata/MetadataServiceExporterTest.java
@@ -14,244 +14,243 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.dubbo.metadata;
-
-import org.apache.dubbo.common.URL;
-import org.apache.dubbo.common.deploy.ApplicationDeployListener;
-import org.apache.dubbo.common.utils.NetUtils;
-import org.apache.dubbo.config.ApplicationConfig;
-import org.apache.dubbo.config.ProtocolConfig;
-import org.apache.dubbo.config.RegistryConfig;
-import org.apache.dubbo.config.ServiceConfig;
-import org.apache.dubbo.config.api.DemoService;
-import org.apache.dubbo.config.bootstrap.DubboBootstrap;
-import org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter;
-import org.apache.dubbo.config.metadata.ExporterDeployListener;
-import org.apache.dubbo.config.metadata.MetadataServiceDelegation;
-import org.apache.dubbo.config.provider.impl.DemoServiceImpl;
-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;
-
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-
-import java.util.List;
-
-import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_METADATA_STORAGE_TYPE;
-import static org.apache.dubbo.common.constants.CommonConstants.DUBBO_PROTOCOL;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class MetadataServiceExporterTest {
-
- @BeforeEach
- public void init() {
- DubboBootstrap.reset();
-
- ApplicationConfig applicationConfig = new ApplicationConfig("Test");
- applicationConfig.setRegisterConsumer(true);
- ApplicationModel.defaultModel().getApplicationConfigManager().setApplication(applicationConfig);
- ApplicationModel.defaultModel().getApplicationConfigManager().addRegistry(new RegistryConfig("multicast://224.5.6.7:1234"));
- ApplicationModel.defaultModel().getApplicationConfigManager().addProtocol(new ProtocolConfig("injvm"));
- }
-
- @Test
- public void test() {
- MetadataServiceDelegation metadataService = Mockito.mock(MetadataServiceDelegation.class);
- ConfigurableMetadataServiceExporter exporter = new ConfigurableMetadataServiceExporter(ApplicationModel.defaultModel(), metadataService);
- exporter.setMetadataService(metadataService);
-
- exporter.export();
- assertTrue(exporter.isExported());
- exporter.unexport();
-
- }
-
- @Test
- public void test2() throws Exception {
-
- ApplicationModel applicationModel = ApplicationModel.defaultModel();
-
- applicationModel.getDeployer().start().get();
- ExporterDeployListener listener = getListener(applicationModel);
- ConfigurableMetadataServiceExporter exporter = listener.getMetadataServiceExporter();
-
- assertTrue(exporter.isExported());
-
- applicationModel.getDeployer().stop();
- assertFalse(exporter.isExported());
- }
-
- /**
- * test reuse of port started by normal service
- */
- @Test
- public void testPortReuse() throws Exception {
- DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
- ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
- serviceConfig.setInterface(DemoService.class);
- serviceConfig.setRef(new DemoServiceImpl());
-
- ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
- applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
-
- providerBootstrap
- .application(applicationConfig)
- .registry(registryConfig)
- .protocol(new ProtocolConfig("dubbo", 2002))
- .service(serviceConfig);
-
- // will start exporter
- providerBootstrap.start();
- ExporterDeployListener listener = getListener(providerBootstrap.getApplicationModel());
- ConfigurableMetadataServiceExporter exporter = listener.getMetadataServiceExporter();
-
- try {
- assertTrue(exporter.isExported());
- List<URL> urls = exporter.getExportedURLs();
- assertNotNull(urls);
- assertEquals(2002, urls.get(0).getPort());
- assertEquals(DUBBO_PROTOCOL, urls.get(0).getProtocol());
- } finally {
- providerBootstrap.stop();
- }
- assertFalse(exporter.isExported());
- }
-
- /**
- * test user specified port and protocol
- * @throws Exception
- */
- @Test
- public void testSpecifiedPortAndProtocol() throws Exception {
- DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
- ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
- serviceConfig.setInterface(DemoService.class);
- serviceConfig.setRef(new DemoServiceImpl());
-
- ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
- applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
- applicationConfig.setMetadataServiceProtocol("tri");
- applicationConfig.setMetadataServicePort(8089);
-
- providerBootstrap
- .application(applicationConfig)
- .registry(registryConfig)
- .protocol(new ProtocolConfig("dubbo", 2002))
- .service(serviceConfig);
-
- // will start exporter.export()
- providerBootstrap.start();
- ExporterDeployListener listener = getListener(providerBootstrap.getApplicationModel());
- ConfigurableMetadataServiceExporter exporter = listener.getMetadataServiceExporter();
-
- try {
- assertTrue(exporter.isExported());
- List<URL> urls = exporter.getExportedURLs();
- assertNotNull(urls);
- assertEquals(8089, urls.get(0).getPort());
- assertEquals("tri", urls.get(0).getProtocol());
- } finally {
- providerBootstrap.stop();
- }
- assertFalse(exporter.isExported());
- }
-
- @Test
- public void testMetadataStartsBeforeNormalService() throws Exception {
- DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
- ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
- serviceConfig.setInterface(DemoService.class);
- serviceConfig.setRef(new DemoServiceImpl());
- serviceConfig.setDelay(1000);
-
- ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
- applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
-// applicationConfig.setMetadataServiceProtocol("triple");
-// applicationConfig.setMetadataServicePort(8089);
-
- providerBootstrap
- .application(applicationConfig)
- .registry(registryConfig)
- .protocol(new ProtocolConfig("dubbo", 2002))
- .service(serviceConfig);
-
- // will start exporter.export()
- providerBootstrap.start();
- ExporterDeployListener listener = getListener(providerBootstrap.getApplicationModel());
- ConfigurableMetadataServiceExporter exporter = listener.getMetadataServiceExporter();
- try {
- assertTrue(exporter.isExported());
- List<URL> urls = exporter.getExportedURLs();
- assertNotNull(urls);
- assertNotEquals(2002, urls.get(0).getPort());
- assertEquals("dubbo", urls.get(0).getProtocol());
- } finally {
- providerBootstrap.stop();
- }
- assertFalse(exporter.isExported());
- }
+//package org.apache.dubbo.metadata;
+//
+//import org.apache.dubbo.common.URL;
+//import org.apache.dubbo.common.deploy.ApplicationDeployListener;
+//import org.apache.dubbo.common.utils.NetUtils;
+//import org.apache.dubbo.config.ApplicationConfig;
+//import org.apache.dubbo.config.ProtocolConfig;
+//import org.apache.dubbo.config.RegistryConfig;
+//import org.apache.dubbo.config.ServiceConfig;
+//import org.apache.dubbo.config.api.DemoService;
+//import org.apache.dubbo.config.bootstrap.DubboBootstrap;
+//import org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter;
+//import org.apache.dubbo.config.metadata.ExporterDeployListener;
+//import org.apache.dubbo.config.metadata.MetadataServiceDelegation;
+//import org.apache.dubbo.config.provider.impl.DemoServiceImpl;
+//import org.apache.dubbo.rpc.model.ApplicationModel;
+//import org.apache.dubbo.rpc.model.FrameworkModel;
+//import org.apache.dubbo.test.check.registrycenter.RegistryCenter;
+//
+//import org.junit.jupiter.api.BeforeAll;
+//import org.junit.jupiter.api.BeforeEach;
+//import org.junit.jupiter.api.Test;
+//import org.mockito.Mockito;
+//
+//import java.util.List;
+//
+//import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_METADATA_STORAGE_TYPE;
+//import static org.apache.dubbo.common.constants.CommonConstants.DUBBO_PROTOCOL;
+//import static org.junit.jupiter.api.Assertions.assertEquals;
+//import static org.junit.jupiter.api.Assertions.assertFalse;
+//import static org.junit.jupiter.api.Assertions.assertNotEquals;
+//import static org.junit.jupiter.api.Assertions.assertNotNull;
+//import static org.junit.jupiter.api.Assertions.assertTrue;
+//
+//public class MetadataServiceExporterTest {
+//
+// @BeforeEach
+// public void init() {
+// DubboBootstrap.reset();
+//
+// ApplicationConfig applicationConfig = new ApplicationConfig("Test");
+// applicationConfig.setRegisterConsumer(true);
+// ApplicationModel.defaultModel().getApplicationConfigManager().setApplication(applicationConfig);
+// ApplicationModel.defaultModel().getApplicationConfigManager().addRegistry(new RegistryConfig("multicast://224.5.6.7:1234"));
+// ApplicationModel.defaultModel().getApplicationConfigManager().addProtocol(new ProtocolConfig("injvm"));
+// }
+//
+// @Test
+// public void test() {
+// MetadataServiceDelegation metadataService = Mockito.mock(MetadataServiceDelegation.class);
+// ConfigurableMetadataServiceExporter exporter = new ConfigurableMetadataServiceExporter(ApplicationModel.defaultModel(), metadataService);
+// exporter.setMetadataService(metadataService);
+//
+// exporter.export();
+// assertTrue(exporter.isExported());
+// exporter.unexport();
+//
+// }
+//
+// @Test
+// public void test2() throws Exception {
+//
+// ApplicationModel applicationModel = ApplicationModel.defaultModel();
+//
+// applicationModel.getDeployer().start().get();
+// ExporterDeployListener listener = getListener(applicationModel);
+// ConfigurableMetadataServiceExporter exporter = listener.getMetadataServiceExporter();
+//
+// assertTrue(exporter.isExported());
+//
+// applicationModel.getDeployer().stop();
+// assertFalse(exporter.isExported());
+// }
+//
+// /**
+// * test reuse of port started by normal service
+// */
+// @Test
+// public void testPortReuse() throws Exception {
+// DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
+// ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
+// serviceConfig.setInterface(DemoService.class);
+// serviceConfig.setRef(new DemoServiceImpl());
+//
+// ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
+// applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
+//
+// providerBootstrap
+// .application(applicationConfig)
+// .registry(registryConfig)
+// .protocol(new ProtocolConfig("dubbo", 2002))
+// .service(serviceConfig);
+//
+// // will start exporter
+// providerBootstrap.start();
+// ExporterDeployListener listener = getListener(providerBootstrap.getApplicationModel());
+// ConfigurableMetadataServiceExporter exporter = listener.getMetadataServiceExporter();
+//
+// try {
+// assertTrue(exporter.isExported());
+// List<URL> urls = exporter.getExportedURLs();
+// assertNotNull(urls);
+// assertEquals(2002, urls.get(0).getPort());
+// assertEquals(DUBBO_PROTOCOL, urls.get(0).getProtocol());
+// } finally {
+// providerBootstrap.stop();
+// }
+// assertFalse(exporter.isExported());
+// }
//
// /**
-// * test multiple protocols
+// * test user specified port and protocol
// * @throws Exception
// */
// @Test
-// public void testMultiProtocols() throws Exception {
+// public void testSpecifiedPortAndProtocol() throws Exception {
// DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
// ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
// serviceConfig.setInterface(DemoService.class);
// serviceConfig.setRef(new DemoServiceImpl());
//
+// ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
+// applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
+// applicationConfig.setMetadataServiceProtocol("tri");
+// applicationConfig.setMetadataServicePort(8089);
+//
// providerBootstrap
-// .application("provider-app")
+// .application(applicationConfig)
// .registry(registryConfig)
// .protocol(new ProtocolConfig("dubbo", 2002))
// .service(serviceConfig);
//
-// ConfigurableMetadataServiceExporter exporter = (ConfigurableMetadataServiceExporter) applicationModel.getExtensionLoader(MetadataServiceExporter.class).getDefaultExtension();
-// MetadataService metadataService = Mockito.mock(MetadataService.class);
-// exporter.setMetadataService(metadataService);
+// // will start exporter.export()
+// providerBootstrap.start();
+// ExporterDeployListener listener = getListener(providerBootstrap.getApplicationModel());
+// ConfigurableMetadataServiceExporter exporter = listener.getMetadataServiceExporter();
+//
+// try {
+// assertTrue(exporter.isExported());
+// List<URL> urls = exporter.getExportedURLs();
+// assertNotNull(urls);
+// assertEquals(8089, urls.get(0).getPort());
+// assertEquals("tri", urls.get(0).getProtocol());
+// } finally {
+// providerBootstrap.stop();
+// }
+// assertFalse(exporter.isExported());
+// }
//
+// @Test
+// public void testMetadataStartsBeforeNormalService() throws Exception {
+// DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
+// ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
+// serviceConfig.setInterface(DemoService.class);
+// serviceConfig.setRef(new DemoServiceImpl());
+// serviceConfig.setDelay(1000);
+//
+// ApplicationConfig applicationConfig = new ApplicationConfig("exporter-test");
+// applicationConfig.setMetadataType(DEFAULT_METADATA_STORAGE_TYPE);
+//// applicationConfig.setMetadataServiceProtocol("triple");
+//// applicationConfig.setMetadataServicePort(8089);
+//
+// providerBootstrap
+// .application(applicationConfig)
+// .registry(registryConfig)
+// .protocol(new ProtocolConfig("dubbo", 2002))
+// .service(serviceConfig);
+//
+// // will start exporter.export()
+// providerBootstrap.start();
+// ExporterDeployListener listener = getListener(providerBootstrap.getApplicationModel());
+// ConfigurableMetadataServiceExporter exporter = listener.getMetadataServiceExporter();
// try {
-// providerBootstrap.start();
// assertTrue(exporter.isExported());
-// assertTrue(exporter.supports(DEFAULT_METADATA_STORAGE_TYPE));
-// assertTrue(exporter.supports(REMOTE_METADATA_STORAGE_TYPE));
-// assertTrue(exporter.supports(COMPOSITE_METADATA_STORAGE_TYPE));
+// List<URL> urls = exporter.getExportedURLs();
+// assertNotNull(urls);
+// assertNotEquals(2002, urls.get(0).getPort());
+// assertEquals("dubbo", urls.get(0).getProtocol());
// } finally {
// providerBootstrap.stop();
// }
// assertFalse(exporter.isExported());
// }
-
- private static ZookeeperSingleRegistryCenter registryCenter;
- private static RegistryConfig registryConfig;
-
- @BeforeAll
- public static void beforeAll() {
- FrameworkModel.destroyAll();
- 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()));
-
- // pre-check threads
- //precheckUnclosedThreads();
- }
-
- private ExporterDeployListener getListener(ApplicationModel model) {
- return (ExporterDeployListener)model.getExtensionLoader(ApplicationDeployListener.class).getExtension("exporter");
- }
-
-}
+////
+//// /**
+//// * test multiple protocols
+//// * @throws Exception
+//// */
+//// @Test
+//// public void testMultiProtocols() throws Exception {
+//// DubboBootstrap providerBootstrap = DubboBootstrap.newInstance();
+//// ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
+//// serviceConfig.setInterface(DemoService.class);
+//// serviceConfig.setRef(new DemoServiceImpl());
+////
+//// providerBootstrap
+//// .application("provider-app")
+//// .registry(registryConfig)
+//// .protocol(new ProtocolConfig("dubbo", 2002))
+//// .service(serviceConfig);
+////
+//// ConfigurableMetadataServiceExporter exporter = (ConfigurableMetadataServiceExporter) applicationModel.getExtensionLoader(MetadataServiceExporter.class).getDefaultExtension();
+//// MetadataService metadataService = Mockito.mock(MetadataService.class);
+//// exporter.setMetadataService(metadataService);
+////
+//// try {
+//// providerBootstrap.start();
+//// assertTrue(exporter.isExported());
+//// assertTrue(exporter.supports(DEFAULT_METADATA_STORAGE_TYPE));
+//// assertTrue(exporter.supports(REMOTE_METADATA_STORAGE_TYPE));
+//// assertTrue(exporter.supports(COMPOSITE_METADATA_STORAGE_TYPE));
+//// } finally {
+//// providerBootstrap.stop();
+//// }
+//// assertFalse(exporter.isExported());
+//// }
+//
+// private static ZookeeperSingleRegistryCenter registryCenter;
+// private static RegistryConfig registryConfig;
+//
+// @BeforeAll
+// public static void beforeAll() {
+// FrameworkModel.destroyAll();
+// 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()));
+//
+// // pre-check threads
+// //precheckUnclosedThreads();
+// }
+//
+// private ExporterDeployListener getListener(ApplicationModel model) {
+// return (ExporterDeployListener)model.getExtensionLoader(ApplicationDeployListener.class).getExtension("exporter");
+// }
+//
+//}
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registry/MockServiceDiscovery.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registry/MockServiceDiscovery.java
index 085a57b..a5c5b3c 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registry/MockServiceDiscovery.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/registry/MockServiceDiscovery.java
@@ -47,11 +47,11 @@ public class MockServiceDiscovery extends AbstractServiceDiscovery {
}
@Override
- public void doUpdate() throws RuntimeException {
+ public void doUpdate(ServiceInstance serviceInstance) throws RuntimeException {
}
@Override
- public void doUnregister() throws RuntimeException {
+ public void doUnregister(ServiceInstance serviceInstance) throws RuntimeException {
}
@Override
diff --git a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
index 38f103e..5221ed2 100644
--- a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
+++ b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
@@ -121,10 +121,6 @@ public class MetadataInfo implements Serializable {
return revision;
}
- public String getRevision() {
- return revision;
- }
-
/**
* Reported status and metadata modification must be synchronized if used in multiple threads.
*/
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java
index ea67de6..ae2d16d 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java
@@ -44,7 +44,7 @@ public abstract class AbstractServiceDiscovery implements ServiceDiscovery {
private Logger logger = LoggerFactory.getLogger(AbstractServiceDiscovery.class);
private volatile boolean isDestroy;
- private final String serviceName;
+ protected final String serviceName;
protected volatile ServiceInstance serviceInstance;
protected volatile MetadataInfo metadataInfo;
protected MetadataReport metadataReport;
@@ -52,7 +52,7 @@ public abstract class AbstractServiceDiscovery implements ServiceDiscovery {
protected MetaCacheManager metaCacheManager;
protected URL registryURL;
- private ApplicationModel applicationModel;
+ protected ApplicationModel applicationModel;
public AbstractServiceDiscovery(ApplicationModel applicationModel, URL registryURL) {
this(applicationModel.getApplicationName(), registryURL);
@@ -76,16 +76,16 @@ public abstract class AbstractServiceDiscovery implements ServiceDiscovery {
this.metaCacheManager = new MetaCacheManager(getCacheNameSuffix());
}
- public synchronized final void register() throws RuntimeException {
- this.serviceInstance = createServiceInstance();
- if (isValidInstance(serviceInstance)) {
+ public synchronized void register() throws RuntimeException {
+ this.serviceInstance = createServiceInstance(this.metadataInfo);
+ if (isValidInstance(this.serviceInstance)) {
return;
}
- boolean revisionUpdated = calOrUpdateInstanceRevision();
+ boolean revisionUpdated = calOrUpdateInstanceRevision(this.serviceInstance);
if (revisionUpdated) {
- reportMetadata();
- doRegister(serviceInstance);
+ reportMetadata(this.metadataInfo);
+ doRegister(this.serviceInstance);
}
}
@@ -95,37 +95,37 @@ public abstract class AbstractServiceDiscovery implements ServiceDiscovery {
* instance.
*/
@Override
- public synchronized final void update() throws RuntimeException {
+ public synchronized void update() throws RuntimeException {
if (this.serviceInstance == null) {
- this.serviceInstance = createServiceInstance();
- } else if (!isValidInstance(serviceInstance)) {
- ServiceInstanceMetadataUtils.customizeInstance(serviceInstance, applicationModel);
+ this.serviceInstance = createServiceInstance(this.metadataInfo);
+ } else if (!isValidInstance(this.serviceInstance)) {
+ ServiceInstanceMetadataUtils.customizeInstance(this.serviceInstance, this.applicationModel);
}
- if (!isValidInstance(serviceInstance)) {
+ if (!isValidInstance(this.serviceInstance)) {
return;
}
- boolean revisionUpdated = calOrUpdateInstanceRevision();
+ boolean revisionUpdated = calOrUpdateInstanceRevision(this.serviceInstance);
if (revisionUpdated) {
- doUpdate();
+ doUpdate(this.serviceInstance);
}
}
@Override
- public synchronized final void unregister() throws RuntimeException {
- unReportMetadata();
- doUnregister();
+ public synchronized void unregister() throws RuntimeException {
+ unReportMetadata(this.metadataInfo);
+ doUnregister(this.serviceInstance);
}
@Override
public final ServiceInstance getLocalInstance() {
- return serviceInstance;
+ return this.serviceInstance;
}
@Override
public MetadataInfo getMetadata() {
- return metadataInfo;
+ return this.metadataInfo;
}
@Override
@@ -208,10 +208,10 @@ public abstract class AbstractServiceDiscovery implements ServiceDiscovery {
throw new UnsupportedOperationException("Service discovery implementation does not support lookup of url list.");
}
- public void doUpdate() throws RuntimeException {
+ protected void doUpdate(ServiceInstance serviceInstance) throws RuntimeException {
this.unregister();
- reportMetadata();
+ reportMetadata(serviceInstance.getServiceMetadata());
this.doRegister(serviceInstance);
}
@@ -220,13 +220,13 @@ public abstract class AbstractServiceDiscovery implements ServiceDiscovery {
return registryURL;
}
- public abstract void doRegister(ServiceInstance serviceInstance) throws RuntimeException;
+ protected abstract void doRegister(ServiceInstance serviceInstance) throws RuntimeException;
- public abstract void doUnregister();
+ protected abstract void doUnregister(ServiceInstance serviceInstance);
- public abstract void doDestroy() throws Exception;
+ protected abstract void doDestroy() throws Exception;
- private ServiceInstance createServiceInstance() {
+ protected ServiceInstance createServiceInstance(MetadataInfo metadataInfo) {
DefaultServiceInstance instance = new DefaultServiceInstance(serviceName, applicationModel);
instance.setServiceMetadata(metadataInfo);
setMetadataStorageType(instance, metadataType);
@@ -234,28 +234,29 @@ public abstract class AbstractServiceDiscovery implements ServiceDiscovery {
return instance;
}
- protected boolean calOrUpdateInstanceRevision() {
- String existingInstanceRevision = serviceInstance.getMetadata().get(EXPORTED_SERVICES_REVISION_PROPERTY_NAME);
+ protected boolean calOrUpdateInstanceRevision(ServiceInstance instance) {
+ String existingInstanceRevision = instance.getMetadata().get(EXPORTED_SERVICES_REVISION_PROPERTY_NAME);
+ MetadataInfo metadataInfo = instance.getServiceMetadata();
String newRevision = metadataInfo.calAndGetRevision();
if (!newRevision.equals(existingInstanceRevision)) {
if (EMPTY_REVISION.equals(newRevision)) {
logger.warn("No interface in metadata, will not register/update instance.");
return false;
}
- serviceInstance.getMetadata().put(EXPORTED_SERVICES_REVISION_PROPERTY_NAME, metadataInfo.calAndGetRevision());
+ instance.getMetadata().put(EXPORTED_SERVICES_REVISION_PROPERTY_NAME, metadataInfo.calAndGetRevision());
return true;
}
return false;
}
- protected void reportMetadata() {
+ protected void reportMetadata(MetadataInfo metadataInfo) {
if (metadataReport != null) {
SubscriberMetadataIdentifier identifier = new SubscriberMetadataIdentifier(serviceName, metadataInfo.calAndGetRevision());
metadataReport.publishAppMetadata(identifier, metadataInfo);
}
}
- protected void unReportMetadata() {
+ protected void unReportMetadata(MetadataInfo metadataInfo) {
if (metadataReport != null) {
SubscriberMetadataIdentifier identifier = new SubscriberMetadataIdentifier(serviceName, metadataInfo.calAndGetRevision());
metadataReport.unPublishAppMetadata(identifier, metadataInfo);
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/NopServiceDiscovery.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/NopServiceDiscovery.java
index 87638cf..7cf8d32 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/NopServiceDiscovery.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/NopServiceDiscovery.java
@@ -37,7 +37,7 @@ public class NopServiceDiscovery extends AbstractServiceDiscovery {
}
@Override
- public void doUnregister() {
+ public void doUnregister(ServiceInstance serviceInstance) {
}
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceInstance.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceInstance.java
index caa2ed7..aee23a6 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceInstance.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceInstance.java
@@ -16,6 +16,7 @@
*/
package org.apache.dubbo.registry.client;
+import org.apache.dubbo.metadata.MetadataInfo;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
@@ -131,6 +132,10 @@ public interface ServiceInstance extends Serializable {
return getMetadata().getOrDefault(name, defaultValue);
}
+ MetadataInfo getServiceMetadata();
+
+ void setServiceMetadata(MetadataInfo serviceMetadata);
+
InstanceAddressURL toURL();
}
diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/support/MockServiceDiscovery.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/support/MockServiceDiscovery.java
index 42eb492..892acb0 100644
--- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/support/MockServiceDiscovery.java
+++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/support/MockServiceDiscovery.java
@@ -40,12 +40,12 @@ public class MockServiceDiscovery extends AbstractServiceDiscovery {
}
@Override
- public void doUpdate() throws RuntimeException {
+ public void doUpdate(ServiceInstance serviceInstance) throws RuntimeException {
}
@Override
- public void doUnregister() {
+ public void doUnregister(ServiceInstance serviceInstance) {
}
diff --git a/dubbo-registry/dubbo-registry-multicast/src/main/java/org/apache/dubbo/registry/multicast/MulticastServiceDiscovery.java b/dubbo-registry/dubbo-registry-multicast/src/main/java/org/apache/dubbo/registry/multicast/MulticastServiceDiscovery.java
index d5ba16b..97f91a3 100644
--- a/dubbo-registry/dubbo-registry-multicast/src/main/java/org/apache/dubbo/registry/multicast/MulticastServiceDiscovery.java
+++ b/dubbo-registry/dubbo-registry-multicast/src/main/java/org/apache/dubbo/registry/multicast/MulticastServiceDiscovery.java
@@ -47,11 +47,11 @@ public class MulticastServiceDiscovery extends AbstractServiceDiscovery {
}
@Override
- public void doUpdate() throws RuntimeException {
+ public void doUpdate(ServiceInstance serviceInstance) throws RuntimeException {
}
@Override
- public void doUnregister() throws RuntimeException {
+ public void doUnregister(ServiceInstance serviceInstance) throws RuntimeException {
this.serviceInstance = null;
}
diff --git a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosServiceDiscovery.java b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosServiceDiscovery.java
index 9a8b2a7..bd020fc 100644
--- a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosServiceDiscovery.java
+++ b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosServiceDiscovery.java
@@ -77,7 +77,7 @@ public class NacosServiceDiscovery extends AbstractServiceDiscovery {
}
@Override
- public void doUnregister() throws RuntimeException {
+ public void doUnregister(ServiceInstance serviceInstance) throws RuntimeException {
execute(namingService, service -> {
Instance instance = toInstance(serviceInstance);
// Should not register real group for ServiceInstance
diff --git a/dubbo-registry/dubbo-registry-nacos/src/test/java/org/apache/dubbo/registry/nacos/NacosServiceDiscoveryTest.java b/dubbo-registry/dubbo-registry-nacos/src/test/java/org/apache/dubbo/registry/nacos/NacosServiceDiscoveryTest.java
index 61039b0..77cd1f6 100644
--- a/dubbo-registry/dubbo-registry-nacos/src/test/java/org/apache/dubbo/registry/nacos/NacosServiceDiscoveryTest.java
+++ b/dubbo-registry/dubbo-registry-nacos/src/test/java/org/apache/dubbo/registry/nacos/NacosServiceDiscoveryTest.java
@@ -135,7 +135,7 @@ public class NacosServiceDiscoveryTest {
assertEquals(3, namingServiceWrapper.getAllInstances(anyString(), anyString()).size());
// unRegister
- nacosServiceDiscovery.doUnregister();
+ nacosServiceDiscovery.unregister();
}
@Test
diff --git a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscovery.java b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscovery.java
index 1a3a335..59099e4 100644
--- a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscovery.java
+++ b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscovery.java
@@ -94,7 +94,7 @@ public class ZookeeperServiceDiscovery extends AbstractServiceDiscovery {
}
@Override
- public void doUnregister() throws RuntimeException {
+ public void doUnregister(ServiceInstance serviceInstance) throws RuntimeException {
if (serviceInstance != null) {
doInServiceRegistry(serviceDiscovery -> serviceDiscovery.unregisterService(build(serviceInstance)));
}
diff --git a/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscoveryTest.java b/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscoveryTest.java
index 784d5ac..5cea0d2 100644
--- a/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscoveryTest.java
+++ b/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/ZookeeperServiceDiscoveryTest.java
@@ -24,7 +24,6 @@ import org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent;
import org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener;
import org.apache.dubbo.rpc.model.ApplicationModel;
-import org.apache.curator.test.TestingServer;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
@@ -37,7 +36,6 @@ import java.util.Map;
import java.util.concurrent.CountDownLatch;
import static java.util.Arrays.asList;
-import static org.apache.dubbo.common.utils.NetUtils.getAvailablePort;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -64,7 +62,7 @@ public class ZookeeperServiceDiscoveryTest {
@BeforeEach
public void init() throws Exception {
- this.registryUrl = URL.valueOf("zookeeper://127.0.0.1:" + zkServerPort);
+ this.registryUrl = URL.valueOf(zookeeperConnectionAddress1);
ApplicationModel applicationModel = ApplicationModel.defaultModel();
applicationModel.getApplicationConfigManager().setApplication(new ApplicationConfig(SERVICE_NAME));
registryUrl.setScopeModel(applicationModel);
diff --git a/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtilsTest.java b/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtilsTest.java
index 1eec916..04e2051 100644
--- a/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtilsTest.java
+++ b/dubbo-registry/dubbo-registry-zookeeper/src/test/java/org/apache/dubbo/registry/zookeeper/util/CuratorFrameworkUtilsTest.java
@@ -24,9 +24,7 @@ import org.apache.dubbo.registry.zookeeper.ZookeeperInstance;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.curator.framework.CuratorFramework;
-import org.apache.curator.test.TestingServer;
import org.apache.curator.x.discovery.ServiceDiscovery;
-import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -35,6 +33,7 @@ import org.mockito.Mockito;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
+
import static org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.EXPORTED_SERVICES_REVISION_PROPERTY_NAME;
import static org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.METADATA_STORAGE_TYPE_PROPERTY_NAME;
import static org.apache.dubbo.registry.zookeeper.util.CuratorFrameworkParams.ROOT_PATH;
[dubbo] 04/04: Merge branch '3.0-metadata-refactor-merged' into 3.0-metadata-refactor
Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.0-metadata-refactor
in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit 6c68481a0441d3ecfc4a3fd7227499eb8064b9b6
Merge: e15d2ae a51bc86
Author: ken.lj <ke...@gmail.com>
AuthorDate: Tue Dec 7 12:17:50 2021 +0800
Merge branch '3.0-metadata-refactor-merged' into 3.0-metadata-refactor
.gitignore | 3 +
dubbo-cluster/pom.xml | 4 -
.../org/apache/dubbo/rpc/cluster/Constants.java | 4 -
.../org/apache/dubbo/rpc/cluster/Directory.java | 29 ++
.../java/org/apache/dubbo/rpc/cluster/Router.java | 23 +-
.../org/apache/dubbo/rpc/cluster/RouterChain.java | 278 ++++++------
.../rpc/cluster/directory/AbstractDirectory.java | 280 +++++++++++-
.../rpc/cluster/directory/StaticDirectory.java | 38 +-
.../cluster/filter/DefaultFilterChainBuilder.java | 7 +-
.../dubbo/rpc/cluster/router/RouterResult.java | 55 +++
.../rpc/cluster/router/RouterSnapshotNode.java | 117 +++++
...ditionRouter.java => ConditionStateRouter.java} | 54 ++-
...ctory.java => ConditionStateRouterFactory.java} | 13 +-
.../config/{AppRouter.java => AppStateRouter.java} | 4 +-
...uterFactory.java => AppStateRouterFactory.java} | 14 +-
...nableRouter.java => ListenableStateRouter.java} | 39 +-
.../router/condition/config/ServiceRouter.java | 2 +-
...Factory.java => ServiceStateRouterFactory.java} | 10 +-
...terFactory.java => FileStateRouterFactory.java} | 18 +-
.../cluster/router/mesh/route/MeshRuleRouter.java | 12 +-
.../cluster/router/mock/MockInvokersSelector.java | 79 ++--
...terFactory.java => MockStateRouterFactory.java} | 10 +-
.../{ScriptRouter.java => ScriptStateRouter.java} | 36 +-
...rFactory.java => ScriptStateRouterFactory.java} | 10 +-
.../cluster/router/state/AbstractStateRouter.java | 61 +--
.../dubbo/rpc/cluster/router/state/BitList.java | 484 +++++++++++++++------
.../router/state/CacheableStateRouterFactory.java | 12 +-
.../rpc/cluster/router/state/RouterCache.java | 49 ---
.../rpc/cluster/router/state/StateRouter.java | 54 +--
.../cluster/router/state/StateRouterFactory.java | 3 +-
.../{AddrCache.java => StateRouterResult.java} | 48 +-
.../cluster/router/tag/TagDynamicStateRouter.java | 260 -----------
.../tag/{TagRouter.java => TagStateRouter.java} | 67 +--
...uterFactory.java => TagStateRouterFactory.java} | 9 +-
.../cluster/router/tag/TagStaticStateRouter.java | 142 ------
.../cluster/support/AbstractClusterInvoker.java | 137 ++++--
.../rpc/cluster/support/AvailableCluster.java | 8 +-
.../support/wrapper/MockClusterInvoker.java | 2 +
.../org.apache.dubbo.rpc.cluster.RouterFactory | 6 -
...bbo.rpc.cluster.router.state.StateRouterFactory | 8 +-
.../apache/dubbo/rpc/cluster/RouterChainTest.java | 7 +-
.../rpc/cluster/directory/StaticDirectoryTest.java | 25 +-
.../loadbalance/ConsistentHashLoadBalanceTest.java | 8 +-
.../router/condition/ConditionRouterTest.java | 253 ++++++-----
.../cluster/router/file/FileRouterEngineTest.java | 18 +-
.../router/mesh/route/MeshRuleRouterTest.java | 19 +-
.../router/mock/MockInvokersSelectorTest.java | 11 +-
...tRouterTest.java => ScriptStateRouterTest.java} | 59 +--
.../rpc/cluster/router/state/BitListTest.java | 479 +++++++++++++++++++-
.../support/AbstractClusterInvokerTest.java | 11 +-
.../support/ConnectivityValidationTest.java | 323 ++++++++++++++
.../support/FailoverClusterInvokerTest.java | 10 +-
.../org.apache.dubbo.rpc.cluster.RouterFactory | 1 -
...bbo.rpc.cluster.router.state.StateRouterFactory | 1 +
.../apache/dubbo/common/BaseServiceMetadata.java | 4 +-
.../src/main/java/org/apache/dubbo/common/URL.java | 112 +++--
.../common/beans/ScopeBeanExtensionInjector.java | 1 +
.../common/beans/factory/ScopeBeanFactory.java | 4 +-
.../beans/support/InstantiationStrategy.java | 2 +-
.../common/config/CompositeConfiguration.java | 4 +-
.../apache/dubbo/common/config/Environment.java | 9 +-
.../config/OrderedPropertiesConfiguration.java | 10 +-
.../dubbo/common/constants/CommonConstants.java | 17 +-
.../dubbo/common/deploy/AbstractDeployer.java | 12 +-
.../org/apache/dubbo/common/deploy/Deployer.java | 1 +
.../dubbo/common/extension/ExtensionDirector.java | 9 +-
.../dubbo/common/extension/ExtensionLoader.java | 38 +-
.../dubbo/common/extension/LoadingStrategy.java | 4 +-
.../extension/inject/SpiExtensionInjector.java | 1 +
.../extension/support/ActivateComparator.java | 10 +-
.../org/apache/dubbo/common/io/StreamUtils.java | 4 +-
.../common/io/UnsafeByteArrayOutputStream.java | 16 +-
.../apache/dubbo/common/io/UnsafeStringWriter.java | 4 +-
.../dubbo/common/lang/ShutdownHookCallbacks.java | 2 +-
.../common/resource/GlobalResourcesRepository.java | 22 +-
.../reporter/FrameworkStatusReportService.java | 12 +-
.../dubbo/common/threadlocal/InternalRunnable.java | 2 +-
.../manager/DefaultExecutorRepository.java | 32 +-
.../threadpool/manager/ExecutorRepository.java | 7 +
.../threadpool/serial/SerializingExecutor.java | 2 +-
.../dubbo/common/timer/HashedWheelTimer.java | 4 +-
.../common/url/component/ServiceAddressURL.java | 6 +
.../common/url/component/ServiceConfigURL.java | 14 +-
.../dubbo/common/url/component/URLAddress.java | 2 +-
.../common/utils/ClassLoaderResourceLoader.java | 18 +-
.../org/apache/dubbo/common/utils/ConfigUtils.java | 10 +-
.../org/apache/dubbo/common/utils/MD5Utils.java | 19 +-
.../dubbo/config/AbstractInterfaceConfig.java | 7 +
.../apache/dubbo/config/AbstractMethodConfig.java | 4 +
.../dubbo/config/AbstractReferenceConfig.java | 8 +
.../apache/dubbo/config/AbstractServiceConfig.java | 8 +
.../org/apache/dubbo/config/ApplicationConfig.java | 4 +
.../apache/dubbo/config/ConfigCenterConfig.java | 5 +
.../org/apache/dubbo/config/ConsumerConfig.java | 9 +
.../apache/dubbo/config/MetadataReportConfig.java | 10 +
.../java/org/apache/dubbo/config/MethodConfig.java | 5 +
.../org/apache/dubbo/config/MetricsConfig.java | 6 +-
.../java/org/apache/dubbo/config/ModuleConfig.java | 9 +
.../org/apache/dubbo/config/MonitorConfig.java | 10 +
.../org/apache/dubbo/config/ProtocolConfig.java | 57 +--
.../org/apache/dubbo/config/ProviderConfig.java | 74 +---
.../apache/dubbo/config/ReferenceConfigBase.java | 15 +
.../org/apache/dubbo/config/RegistryConfig.java | 18 +-
.../org/apache/dubbo/config/ServiceConfigBase.java | 16 +-
.../java/org/apache/dubbo/config/SslConfig.java | 8 +
.../dubbo/config/annotation/DubboReference.java | 4 +-
.../dubbo/config/annotation/DubboService.java | 2 +-
.../config/context/AbstractConfigManager.java | 17 +-
.../apache/dubbo/config/context/ConfigManager.java | 2 +-
.../dubbo/config/context/ModuleConfigManager.java | 126 +++++-
.../apache/dubbo/rpc/model/ApplicationModel.java | 5 +-
.../org/apache/dubbo/rpc/model/FrameworkModel.java | 62 +--
.../rpc/model/FrameworkServiceRepository.java | 13 +-
.../apache/dubbo/rpc/model/MethodDescriptor.java | 3 -
.../org/apache/dubbo/rpc/model/ScopeModel.java | 4 +
.../model/ScopeModelAwareExtensionProcessor.java | 2 +-
.../apache/dubbo/rpc/model/ServiceMetadata.java | 2 +-
.../common/CommonScopeModelInitializerTest.java | 62 +++
.../test/java/org/apache/dubbo/common/URLTest.java | 76 +++-
.../common/config/CompositeConfigurationTest.java | 21 +-
...rationTest.java => ConfigurationCacheTest.java} | 18 +-
.../dubbo/common/config/EnvironmentTest.java | 63 ++-
...ava => OrderedPropertiesConfigurationTest.java} | 5 +-
.../common/config/PropertiesConfigurationTest.java | 26 +-
.../file/FileSystemDynamicConfigurationTest.java | 5 +-
.../common/extension/ExtensionLoaderTest.java | 22 +-
.../impl/{Ext5Impl1.java => Ext6Impl1.java} | 4 +-
.../impl/{Ext5Impl2.java => Ext6Impl2.java} | 4 +-
.../impl/{Ext5Wrapper1.java => Ext6Wrapper1.java} | 4 +-
.../impl/{Ext5Wrapper2.java => Ext6Wrapper2.java} | 4 +-
.../inject/AdaptiveExtensionInjectorTest.java | 58 +++
.../dubbo/common/io/UnsafeStringWriterTest.java | 4 +-
.../resource/GlobalResourcesRepositoryTest.java | 77 ++++
.../reporter/FrameworkStatusReportServiceTest.java | 106 +++++
.../reporter/MockFrameworkStatusReporter.java | 22 +-
.../threadlocal/InternalThreadLocalTest.java | 6 +
.../dubbo/common/utils/AnnotationUtilsTest.java | 74 ++--
.../utils/ClassLoaderResourceLoaderTest.java | 58 +++
.../apache/dubbo/common/utils/ConfigUtilsTest.java | 10 +
.../apache/dubbo/common/utils/MD5UtilsTest.java | 95 ++++
.../context/ConfigConfigurationAdapterTest.java} | 25 +-
.../dubbo/config/context/ConfigManagerTest.java | 104 ++++-
.../dubbo/rpc/model/ApplicationModelTest.java | 146 +++++++
.../apache/dubbo/rpc/model/FrameworkModelTest.java | 106 +++++
.../rpc/model/FrameworkServiceRepositoryTest.java | 113 +++++
.../apache/dubbo/rpc/model/ModuleModelTest.java | 89 ++++
.../rpc/model/ModuleServiceRepositoryTest.java | 113 +++++
.../ScopeModelAwareExtensionProcessorTest.java | 78 ++++
.../org/apache/dubbo/rpc/model/ScopeModelTest.java | 9 +-
.../apache/dubbo/rpc/model/ScopeModelUtilTest.java | 114 +++++
.../dubbo/rpc/model/ServiceRepositoryTest.java | 90 ++++
.../support/DemoService.java} | 8 +-
.../support/DemoServiceImpl.java} | 11 +-
.../dubbo/rpc/support/MockScopeModelAware.java | 72 +++
.../support/MockScopeModelDestroyListener.java} | 26 +-
...che.dubbo.common.extension.ext6_wrap.WrappedExt | 8 +-
....common.status.reporter.FrameworkStatusReporter | 1 +
.../src/test/resources/dubbo-migration.yaml | 6 +-
.../main/java/com/alibaba/dubbo/common/URL.java | 5 +-
dubbo-config/dubbo-config-api/pom.xml | 12 -
.../org/apache/dubbo/config/ReferenceConfig.java | 21 +-
.../org/apache/dubbo/config/ServiceConfig.java | 28 +-
.../config/deploy/DefaultApplicationDeployer.java | 177 +++++---
.../dubbo/config/deploy/DefaultModuleDeployer.java | 63 ++-
.../invoker/DelegateProviderMetaDataInvoker.java | 3 +-
.../dubbo/config/utils/SimpleReferenceCache.java | 13 +-
.../dubbo/config/AbstractReferenceConfigTest.java | 19 +-
.../dubbo/config/ConfigCenterConfigTest.java | 13 +-
.../config/ConfigScopeModelInitializerTest.java} | 37 +-
.../apache/dubbo/config/ReferenceConfigTest.java | 19 +-
.../apache/dubbo/config/RegistryConfigTest.java | 7 +-
.../dubbo/config/bootstrap/DubboBootstrapTest.java | 32 +-
.../bootstrap/DubboServiceConsumerBootstrap.java | 5 +-
.../bootstrap/DubboServiceProviderBootstrap.java | 7 +-
.../DubboServiceProviderMinimumBootstrap.java | 3 +-
.../dubbo/config/bootstrap/MultiInstanceTest.java | 44 +-
.../ZookeeperDubboServiceConsumerBootstrap.java | 3 +-
.../DubboInterfaceConsumerBootstrap.java | 3 +-
.../AbstractRegistryCenterExporterListener.java | 2 +-
.../AbstractRegistryCenterServiceListener.java | 2 +-
.../dubbo/{ => config}/integration/Constants.java | 2 +-
.../{ => config}/integration/IntegrationTest.java | 2 +-
.../integration/multiple/AbstractStorage.java | 2 +-
.../{ => config}/integration/multiple/Storage.java | 2 +-
...gistryCenterExportMetadataExporterListener.java | 4 +-
...egistryCenterExportMetadataIntegrationTest.java | 25 +-
...ultipleRegistryCenterExportMetadataService.java | 2 +-
...pleRegistryCenterExportMetadataServiceImpl.java | 2 +-
...egistryCenterExportMetadataServiceListener.java | 4 +-
...gistryCenterExportProviderExporterListener.java | 4 +-
...MultipleRegistryCenterExportProviderFilter.java | 2 +-
...egistryCenterExportProviderIntegrationTest.java | 27 +-
...nterExportProviderRegistryProtocolListener.java | 2 +-
...ultipleRegistryCenterExportProviderService.java | 2 +-
...pleRegistryCenterExportProviderServiceImpl.java | 2 +-
...egistryCenterExportProviderServiceListener.java | 4 +-
...ultipleRegistryCenterInjvmExporterListener.java | 4 +-
.../injvm/MultipleRegistryCenterInjvmFilter.java | 2 +-
...MultipleRegistryCenterInjvmIntegrationTest.java | 29 +-
.../injvm/MultipleRegistryCenterInjvmService.java | 2 +-
.../MultipleRegistryCenterInjvmServiceImpl.java | 2 +-
...MultipleRegistryCenterInjvmServiceListener.java | 4 +-
.../integration/multiple/package-info.java | 2 +-
...terServiceDiscoveryRegistryIntegrationTest.java | 47 +-
...ceDiscoveryRegistryRegistryServiceListener.java | 4 +-
...istryCenterServiceDiscoveryRegistryService.java | 2 +-
...yCenterServiceDiscoveryRegistryServiceImpl.java | 2 +-
.../ServiceDiscoveryRegistryInfoWrapper.java | 2 +-
.../ServiceDiscoveryRegistryStorage.java | 4 +-
...RegistryCenterDubboProtocolIntegrationTest.java | 24 +-
...ingleRegistryCenterExportedServiceListener.java | 4 +-
.../SingleRegistryCenterIntegrationService.java | 2 +-
...SingleRegistryCenterIntegrationServiceImpl.java | 2 +-
...gistryCenterExportMetadataExporterListener.java | 4 +-
...egistryCenterExportMetadataIntegrationTest.java | 23 +-
.../SingleRegistryCenterExportMetadataService.java | 2 +-
...gleRegistryCenterExportMetadataServiceImpl.java | 2 +-
...egistryCenterExportMetadataServiceListener.java | 4 +-
...gistryCenterExportProviderExporterListener.java | 4 +-
.../SingleRegistryCenterExportProviderFilter.java | 2 +-
...egistryCenterExportProviderIntegrationTest.java | 24 +-
...nterExportProviderRegistryProtocolListener.java | 4 +-
.../SingleRegistryCenterExportProviderService.java | 2 +-
...gleRegistryCenterExportProviderServiceImpl.java | 2 +-
...egistryCenterExportProviderServiceListener.java | 4 +-
.../SingleRegistryCenterInjvmExporterListener.java | 4 +-
.../injvm/SingleRegistryCenterInjvmFilter.java | 2 +-
.../SingleRegistryCenterInjvmIntegrationTest.java | 23 +-
.../injvm/SingleRegistryCenterInjvmService.java | 2 +-
.../SingleRegistryCenterInjvmServiceImpl.java | 2 +-
.../SingleRegistryCenterInjvmServiceListener.java | 4 +-
.../integration/single/package-info.java | 2 +-
.../dubbo/config/mock/MockServiceDiscovery.java | 4 +-
.../metadata/MetadataServiceExporterTest.java | 435 +++++++++---------
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../dubbo/registrycenter/RegistryCenter.java | 70 ---
.../ZookeeperMultipleRegistryCenter.java | 45 --
.../registrycenter/ZookeeperRegistryCenter.java | 142 ------
.../org.apache.dubbo.config.ServiceListener | 14 +-
...g.apache.dubbo.registry.RegistryServiceListener | 2 +-
...o.registry.integration.RegistryProtocolListener | 4 +-
.../services/org.apache.dubbo.rpc.ExporterListener | 12 +-
.../META-INF/services/org.apache.dubbo.rpc.Filter | 8 +-
dubbo-config/dubbo-config-spring/pom.xml | 22 -
.../dubbo/config/spring/ConfigCenterBean.java | 9 +
.../apache/dubbo/config/spring/ServiceBean.java | 11 +
.../config/spring/SpringScopeModelInitializer.java | 3 +-
.../annotation/ServiceAnnotationPostProcessor.java | 10 +-
.../spring/context/DubboConfigBeanInitializer.java | 12 +-
.../config/spring/reference/ReferenceCreator.java | 139 ++----
.../org/apache/dubbo/config/spring/ConfigTest.java | 15 -
.../dubbo/config/spring/JavaConfigBeanTest.java | 19 +-
.../annotation/MethodConfigCallbackTest.java | 9 +-
.../factory/annotation/ReferenceCreatorTest.java | 40 +-
.../XmlReferenceBeanConditionalTest.java | 7 -
...nfigAnnotationReferenceBeanConditionalTest.java | 7 -
.../JavaConfigRawReferenceBeanConditionalTest.java | 7 -
.../JavaConfigReferenceBeanConditionalTest4.java | 7 -
.../configprops/SpringBootConfigPropsTest.java | 64 ++-
.../SpringBootMultipleConfigPropsTest.java | 17 +-
.../importxml/SpringBootImportDubboXmlTest.java | 7 -
.../annotation/DubboConfigConfigurationTest.java | 24 +-
.../context/annotation/EnableDubboConfigTest.java | 7 -
.../customize/DubboSpringInitCustomizerTest.java | 11 +-
.../spring/issues/issue6000/Issue6000Test.java | 7 -
.../spring/issues/issue6252/Issue6252Test.java | 7 -
.../spring/issues/issue7003/Issue7003Test.java | 7 -
.../issue9172/MultipleConsumerAndProviderTest.java | 105 +++++
.../issues/issue9207/ConfigCenterBeanTest.java | 108 +++++
.../consumer/PropertyConfigurerTest.java | 7 -
.../propertyconfigurer/consumer/app.properties | 2 +-
.../propertyconfigurer/consumer/dubbo-consumer.xml | 2 +-
.../consumer2/PropertySourcesConfigurerTest.java | 7 -
.../propertyconfigurer/consumer2/app.properties | 2 +-
.../consumer2/dubbo-consumer.xml | 2 +-
.../consumer3/PropertySourcesInJavaConfigTest.java | 16 -
.../propertyconfigurer/consumer3/app.properties | 2 +-
.../consumer3/dubbo-consumer.xml | 2 +-
.../propertyconfigurer/provider/app.properties | 6 +-
.../reference/DubboConfigBeanInitializerTest.java | 8 +-
.../config/spring/reference/ReferenceKeyTest.java | 18 -
.../javaconfig/JavaConfigReferenceBeanTest.java | 19 -
.../reference/javaconfig/consumer.properties | 2 +-
.../spring/reference/localcall/LocalCallTest.java | 8 -
.../spring/reference/localcall/LocalCallTest2.java | 7 -
.../reference/localcall/local-call-provider.xml | 2 +-
.../LocalCallMultipleReferenceAnnotationsTest.java | 12 -
.../localcallam/local-call-config.properties | 2 +-
.../spring/registry/MockServiceDiscovery.java | 4 +-
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../spring/registrycenter/RegistryCenter.java | 75 ----
.../ZookeeperMultipleRegistryCenter.java | 43 --
.../registrycenter/ZookeeperRegistryCenter.java | 147 -------
.../ZookeeperSingleRegistryCenter.java | 44 --
.../config/spring/schema/GenericServiceTest.java | 7 -
.../schema/GenericServiceWithoutInterfaceTest.java | 7 -
.../META-INF/issues/issue6000/config.properties | 2 +-
.../META-INF/issues/issue6252/config.properties | 4 +-
.../META-INF/issues/issue7003/config.properties | 2 +-
.../META-INF/issues/issue9172/consumer.properties | 30 ++
.../META-INF/issues/issue9172/provider.properties | 24 +
.../dubbo-properties-in-configcenter.properties | 6 +-
.../zookeeper-dubbb-consumer.properties | 2 +-
.../zookeeper-dubbb-provider.properties | 2 +-
.../zookeeper-dubbo-consumer.xml | 4 +-
.../dubbo-generic-consumer-without-interface.xml | 2 +-
.../META-INF/spring/dubbo-generic-consumer.xml | 2 +-
.../support/apollo/ApolloDynamicConfiguration.java | 66 +--
.../support/nacos/NacosDynamicConfiguration.java | 4 +-
.../dubbo-configcenter-zookeeper/pom.xml | 5 -
.../ZookeeperDynamicConfigurationTest.java | 98 ++---
.../resources/spring/dubbo-consumer.properties | 1 +
.../resources/spring/dubbo-provider.properties | 2 +-
.../apache/dubbo/demo/consumer/Application.java | 13 +-
.../apache/dubbo/demo/provider/Application.java | 3 +
.../dubbo/demo/consumer/GenericApplication.java | 2 +
.../dubbo/demo/graalvm/consumer/Application.java | 17 +-
.../dubbo/demo/graalvm/provider/Application.java | 15 +-
.../dubbo-demo-spring-boot-consumer}/pom.xml | 90 ++--
.../demo/consumer/ConsumerApplication.java | 47 ++
.../src/main/resources/application.yml | 29 ++
.../src/main/resources/log4j.properties | 0
.../dubbo-demo-spring-boot-interface}/pom.xml | 20 +-
.../apache/dubbo/springboot/demo/DemoService.java | 13 +-
.../dubbo-demo-spring-boot-provider}/pom.xml | 91 ++--
.../springboot/demo/provider/DemoServiceImpl.java | 21 +-
.../demo/provider/ProviderApplication.java} | 20 +-
.../src/main/resources/application.yml | 29 ++
.../src/main/resources/log4j.properties | 0
.../dubbo-demo-spring-boot}/pom.xml | 28 +-
.../apache/dubbo/demo/consumer/ApiConsumer.java | 12 +-
.../dubbo/demo/consumer/ApiWrapperConsumer.java | 9 +-
.../apache/dubbo/demo/provider/ApiProvider.java | 10 +-
.../dubbo/demo/provider/ApiWrapperProvider.java | 10 +-
.../src/main/resources/spring/dubbo-consumer.xml | 4 +
.../demo/provider/chain/ChainServiceImpl.java | 33 --
.../src/main/resources/dubbo.properties | 1 -
.../main/resources/spring/dubbo-provider-chain.xml | 35 --
dubbo-demo/pom.xml | 1 +
dubbo-dependencies-bom/pom.xml | 20 +-
dubbo-distribution/dubbo-all/pom.xml | 4 -
dubbo-metadata/dubbo-metadata-api/pom.xml | 6 -
.../apache/dubbo/metadata/RevisionResolver.java | 4 +-
.../dubbo/metadata/rest/SpringRestService.java | 10 +-
.../dubbo/metadata/rest/SpringRestService.java | 10 +-
.../metadata/store/nacos/NacosMetadataReport.java | 14 +-
dubbo-metadata/dubbo-metadata-report-redis/pom.xml | 5 -
.../dubbo-metadata-report-zookeeper/pom.xml | 5 -
.../zookeeper/ZookeeperMetadataReportTest.java | 21 +-
.../java/org/apache/dubbo/monitor/Constants.java | 36 +-
.../org/apache/dubbo/monitor/MonitorService.java | 38 --
.../dubbo/monitor/support/MonitorFilter.java | 43 +-
.../dubbo/monitor/support/MonitorFilterTest.java | 39 +-
.../apache/dubbo/monitor/dubbo/DubboMonitor.java | 141 +++---
.../apache/dubbo/monitor/dubbo/MetricsFilter.java | 6 +-
.../org/apache/dubbo/monitor/dubbo/Statistics.java | 23 +-
.../apache/dubbo/monitor/dubbo/StatisticsItem.java | 132 ++++++
.../dubbo/monitor/dubbo/DubboMonitorTest.java | 106 +++--
.../dubbo/monitor/dubbo/MetricsFilterTest.java | 8 +-
.../apache/dubbo/monitor/dubbo/StatisticsTest.java | 54 ++-
.../META-INF/native-image/reflect-config.json | 8 +-
.../router/state/StateRouterFactory$Adaptive.java | 6 +-
.../dubbo/qos/command/CommandContextFactory.java | 6 +-
.../qos/command/decoder/HttpCommandDecoder.java | 6 +-
.../apache/dubbo/qos/command/impl/BaseOffline.java | 5 +-
.../dubbo/qos/command/impl/ChangeTelnet.java | 3 +-
.../apache/dubbo/qos/command/impl/CountTelnet.java | 4 +-
.../org/apache/dubbo/qos/command/impl/Help.java | 14 +-
.../dubbo/qos/command/impl/InvokeTelnet.java | 13 +-
.../org/apache/dubbo/qos/command/impl/Live.java | 23 +-
.../apache/dubbo/qos/command/impl/OfflineApp.java | 3 -
.../org/apache/dubbo/qos/command/impl/Online.java | 12 +-
.../apache/dubbo/qos/command/impl/OnlineApp.java | 2 +-
.../apache/dubbo/qos/command/impl/PortTelnet.java | 2 +-
.../apache/dubbo/qos/command/impl/PwdTelnet.java | 3 +-
.../dubbo/qos/command/impl/SelectTelnet.java | 3 +-
.../dubbo/qos/command/util/CommandHelper.java | 2 +-
.../dubbo/qos/legacy/ChangeTelnetHandler.java | 3 +-
.../dubbo/qos/legacy/TraceTelnetHandler.java | 6 +-
.../org/apache/dubbo/qos/probe/LivenessProbe.java | 2 +-
.../org/apache/dubbo/qos/probe/ReadinessProbe.java | 2 +-
.../org/apache/dubbo/qos/probe/StartupProbe.java | 2 +-
.../qos/server/handler/HttpProcessHandler.java | 4 +-
.../command/decoder/HttpCommandDecoderTest.java | 10 +-
.../dubbo/qos/command/impl/InvokeTelnetTest.java | 10 +-
.../apache/dubbo/qos/command/impl/LiveTest.java | 52 +++
.../org/apache/dubbo/qos/command/impl/LsTest.java | 177 ++++----
.../dubbo/qos/command/impl/MockLivenessProbe.java | 24 +-
.../apache/dubbo/qos/command/impl/OfflineTest.java | 170 +++++---
.../apache/dubbo/qos/command/impl/OnlineTest.java | 162 ++++---
.../qos/command/impl/PublishMetadataTest.java | 78 ++++
.../apache/dubbo/qos/command/impl/ReadyTest.java | 78 ++++
.../apache/dubbo/qos/command/impl/StartupTest.java | 75 ++++
.../dubbo/qos/legacy/service/DemoServiceImpl.java | 4 +-
.../qos/server/handler/HttpProcessHandlerTest.java | 16 +-
.../org.apache.dubbo.qos.probe.LivenessProbe | 1 +
.../dubbo/registry/ListenerRegistryWrapper.java | 4 +-
.../registry/client/AbstractServiceDiscovery.java | 63 +--
.../registry/client/DefaultServiceInstance.java | 76 +++-
.../dubbo/registry/client/InstanceAddressURL.java | 6 +-
.../dubbo/registry/client/NopServiceDiscovery.java | 2 +-
.../client/ServiceDiscoveryRegistryDirectory.java | 47 +-
.../dubbo/registry/client/ServiceInstance.java | 15 +-
.../listener/ServiceInstancesChangedListener.java | 7 +-
.../registry/client/metadata/MetadataUtils.java | 4 +-
.../StandardMetadataServiceURLBuilder.java | 10 +-
.../DefaultMigrationAddressComparator.java | 20 +-
.../client/migration/MigrationInvoker.java | 2 +-
.../integration/AbstractConfiguratorListener.java | 27 +-
.../registry/integration/DynamicDirectory.java | 30 +-
.../registry/integration/RegistryDirectory.java | 89 ++--
.../support/CacheableFailbackRegistry.java | 2 +-
.../client/DefaultServiceInstanceTest.java | 2 +-
.../client/metadata/MetadataUtilsTest.java | 31 +-
.../StandardMetadataServiceURLBuilderTest.java | 9 +-
.../client/support/MockServiceDiscovery.java | 4 +-
.../registry/support/FailbackRegistryTest.java | 38 +-
.../multicast/MulticastServiceDiscovery.java | 4 +-
dubbo-registry/dubbo-registry-multiple/pom.xml | 5 -
.../multiple/MultipleRegistry2S2RTest.java | 61 +--
.../apache/dubbo/registry/nacos/NacosRegistry.java | 45 +-
.../registry/nacos/NacosServiceDiscovery.java | 2 +-
.../registry/nacos/NacosServiceDiscoveryTest.java | 2 +-
dubbo-registry/dubbo-registry-zookeeper/pom.xml | 5 -
.../zookeeper/ZookeeperServiceDiscovery.java | 2 +-
.../registry/zookeeper/ZookeeperRegistryTest.java | 24 +-
.../zookeeper/ZookeeperServiceDiscoveryTest.java | 18 +-
.../zookeeper/util/CuratorFrameworkUtilsTest.java | 17 +-
.../org/apache/dubbo/remoting/api/SslContexts.java | 50 ++-
.../exchange/PortUnificationExchanger.java | 5 +-
.../remoting/exchange/codec/ExchangeCodec.java | 2 -
.../telnet/support/command/ClearTelnetHandler.java | 3 +-
.../telnet/support/command/ExitTelnetHandler.java | 2 +-
.../telnet/support/command/HelpTelnetHandler.java | 66 +--
.../dubbo/remoting/transport/AbstractClient.java | 28 +-
.../dubbo/remoting/http/jetty/JettyHttpServer.java | 9 +-
.../remoting/http/jetty/JettyLoggerAdapter.java | 157 +++++++
.../http/jetty/JettyLoggerAdapterTest.java | 127 ++++++
.../src/test/resources/log4j.xml | 41 ++
.../dubbo-remoting-zookeeper-curator5/pom.xml | 6 -
.../curator5/Curator5ZookeeperClient.java | 12 +-
.../curator5/Curator5ZookeeperClientTest.java | 27 +-
.../curator5/Curator5ZookeeperTransporterTest.java | 21 +-
.../support/AbstractZookeeperTransporterTest.java | 134 ++----
dubbo-remoting/dubbo-remoting-zookeeper/pom.xml | 5 -
.../zookeeper/curator/CuratorZookeeperClient.java | 12 +-
.../curator/CuratorZookeeperClientTest.java | 27 +-
.../curator/CuratorZookeeperTransporterTest.java | 22 +-
.../support/AbstractZookeeperTransporterTest.java | 137 +++---
.../org/apache/dubbo/rpc/RpcContextAttachment.java | 4 +-
.../java/org/apache/dubbo/rpc/RpcInvocation.java | 20 +-
.../org/apache/dubbo/rpc/filter/ContextFilter.java | 2 +-
.../apache/dubbo/rpc/CancellationContextTest.java | 61 +++
.../dubbo/rpc/protocol/grpc/GrpcOptionsUtils.java | 48 +-
.../dubbo/rpc/protocol/grpc/GrpcProtocolTest.java | 8 +-
.../dubbo/rpc/protocol/injvm/InjvmInvoker.java | 6 +-
.../rpc/protocol/tri/AbstractClientStream.java | 6 +-
.../dubbo/rpc/protocol/tri/AbstractStream.java | 5 +-
.../tri/ClientOutboundTransportObserver.java | 36 +-
.../apache/dubbo/rpc/protocol/tri/Compressor.java | 3 +
.../apache/dubbo/rpc/protocol/tri/GrpcStatus.java | 2 +-
.../protocol/tri/OutboundTransportObserver.java | 16 +-
.../tri/ServerOutboundTransportObserver.java | 51 +--
.../rpc/protocol/tri/SingleProtobufUtils.java | 17 +-
.../dubbo/rpc/protocol/tri/TransportState.java | 3 +-
.../protocol/tri/TripleClientRequestHandler.java | 5 +-
.../protocol/tri/TripleCommandOutBoundHandler.java | 29 +-
.../dubbo/rpc/protocol/tri/TripleHeaderEnum.java | 3 -
.../tri/TripleHttp2FrameServerHandler.java | 25 +-
.../rpc/protocol/tri/TripleHttp2Protocol.java | 1 +
.../dubbo/rpc/protocol/tri/TripleProtocol.java | 3 -
.../dubbo/rpc/protocol/tri/UnaryClientStream.java | 2 +-
.../dubbo/rpc/protocol/tri/UnaryServerStream.java | 2 +-
.../apache/dubbo/rpc/protocol/tri/WriteQueue.java | 87 ++++
.../protocol/tri/command/CancelQueueCommand.java | 34 +-
.../rpc/protocol/tri/command/DataQueueCommand.java | 99 +++++
.../protocol/tri/command/FlushQueueCommand.java | 15 +-
.../protocol/tri/command/HeaderQueueCommand.java | 81 ++++
.../rpc/protocol/tri/command/QueuedCommand.java | 69 +++
.../protocol/tri/command/TextDataQueueCommand.java | 46 ++
.../protocol/tri/service/TriBuiltinService.java | 2 +-
.../rpc/protocol/tri/service/TriHealthImpl.java | 2 +-
.../dubbo/rpc/protocol/tri/AbstractStreamTest.java | 118 +++++
.../dubbo/rpc/protocol/tri/ClientStreamTest.java | 367 ++++++++++++++++
.../rpc/protocol/tri/GrpcDataDecoderTest.java | 101 +++++
.../dubbo/rpc/protocol/tri/ServerStreamTest.java | 291 +++++++++++++
.../rpc/protocol/tri/SingleProtobufUtilsTest.java | 77 ++++
.../dubbo/rpc/protocol/tri/TransportStateTest.java | 2 +-
.../tri/TripleHttp2ClientResponseHandlerTest.java | 107 +++++
.../dubbo/rpc/protocol/tri/TripleProtocolTest.java | 52 ++-
.../dubbo/rpc/protocol/tri/WriteQueueTest.java | 113 +++++
.../tri/service/TriBuiltinServiceTest.java | 43 ++
.../protocol/tri/service/TriHealthImplTest.java | 129 ++++++
.../dubbo/rpc/protocol/tri/support/IGreeter.java | 4 +
.../rpc/protocol/tri/support/IGreeterImpl.java | 15 +-
.../tri/support/MockAbstractStreamImpl.java | 34 +-
.../{IGreeterImpl.java => MockStreamObserver.java} | 44 +-
.../dubbo/DefaultHessian2FactoryInitializer.java | 2 +-
.../dubbo/WhitelistHessian2FactoryInitializer.java | 2 +-
.../DubboListenerAutoConfiguration.java | 7 -
.../src/main/resources/META-INF/spring.factories | 2 +
dubbo-test/dubbo-test-check/pom.xml | 37 +-
...bstractRegistryCenterTestExecutionListener.java | 100 +++++
.../dubbo/test/check/RegistryCenterFinished.java | 28 +-
.../dubbo/test/check/RegistryCenterStarted.java | 50 +++
.../test/check/exception/DubboTestException.java | 43 ++
.../dubbo/test/check/registrycenter/Config.java | 67 +++
.../dubbo/test/check/registrycenter/Context.java | 6 +-
.../registrycenter/GlobalRegistryCenter.java} | 35 +-
.../test/check/registrycenter/Initializer.java | 14 +-
.../dubbo/test/check/registrycenter/Processor.java | 22 +-
.../test/check/registrycenter/RegistryCenter.java | 31 +-
.../registrycenter/ZookeeperRegistryCenter.java | 239 ++++++++++
.../registrycenter/config/ZookeeperConfig.java | 175 ++++++++
.../config/ZookeeperRegistryCenterConfig.java | 84 ++++
.../registrycenter/context/ZookeeperContext.java | 92 ++++
.../context/ZookeeperWindowsContext.java | 110 +++++
.../initializer/ConfigZookeeperInitializer.java | 143 ++++++
.../initializer/DownloadZookeeperInitializer.java | 177 ++++++++
.../initializer/UnpackZookeeperInitializer.java | 114 +++++
.../initializer/ZookeeperInitializer.java | 51 +++
.../processor/FindPidWindowsProcessor.java | 119 +++++
.../processor/KillProcessWindowsProcessor.java | 61 +++
.../processor/ResetZookeeperProcessor.java | 55 +++
.../processor/StartZookeeperUnixProcessor.java | 68 +++
.../processor/StartZookeeperWindowsProcessor.java | 81 ++++
.../processor/StopZookeeperUnixProcessor.java | 66 +++
.../processor/StopZookeeperWindowsProcessor.java | 52 +++
.../processor/ZookeeperUnixProcessor.java | 109 +++++
.../processor/ZookeeperWindowsProcessor.java | 41 ++
...g.junit.platform.launcher.TestExecutionListener | 4 +
dubbo-test/dubbo-test-common/pom.xml | 12 -
.../dubbo/test/common/EmbeddedZooKeeper.java | 248 -----------
.../apache/dubbo/test/common/ZooKeeperServer.java | 57 ---
.../registrycenter/AbstractRegistryCenter.java | 107 -----
.../test/common/registrycenter/RegistryCenter.java | 70 ---
.../ZookeeperMultipleRegistryCenter.java | 43 --
.../registrycenter/ZookeeperRegistryCenter.java | 142 ------
.../test/spring/SpringAnnotationBeanTest.java | 7 -
.../test/spring/SpringJavaConfigBeanTest.java | 10 +-
.../dubbo/test/spring/SpringXmlConfigTest.java | 6 -
.../src/main/resources/demo-app.properties | 6 +-
.../src/main/resources/spring/dubbo-demo.xml | 6 +-
543 files changed, 12662 insertions(+), 6250 deletions(-)