Dubbo SPI Plugins and Details

Dubbo SPI Definition Manual, a comprehensive list of SPI definitions in the framework.

Dubbo defines many extension points within the framework, so when you find that the official library cannot meet business needs and wish to provide customization for the Dubbo framework, please first refer to the following extension point definitions to see if you can achieve non-intrusive customization of the Dubbo framework by providing extension implementations.

For specific information, please refer to the Summary of Dubbo SPI Extension Definitions below this article.

Summary of Extension Points

Lifecycle and Event Callbacks

SPI Extension DefinitionFunction DescriptionExample ImplementationActivation Conditions
org.apache.dubbo.common.lang.ShutdownHookCallbackElegant offline callback logic extension point, all ShutdownHookCallback implementations will be called before the Dubbo process is destroyed.NoneAutomatically activated, no configuration needed.
org.apache.dubbo.common.threadpool.event.ThreadPoolExhaustedListenerThis extension point will trigger an event notification when the Dubbo business thread pool is full.org.apache.dubbo.metrics.collector.sample.MetricThreadPoolExhaustedListenerActivate implementations with dubbo.protocol.thread-pool-exhausted-listeners=spi-name1,spi-name2.
org.apache.dubbo.rpc.ExporterListenerThis extension point will be called back after each Exporter successfully exports/unexports.org.apache.dubbo.rpc.listener.InjvmExporterListenerExtensions must add the @Activate annotation to be activated; activation conditions can be configured as needed. Implementations can be activated by configuring exporter.listener=spi-name1,spi-name2 in the URL.
org.apache.dubbo.rpc.InvokerListenerThis extension point will be called back after each service Invoker successfully refers/destroys.org.apache.dubbo.rpc.protocol.CountInvokerListenerSimilar as above.
org.apache.dubbo.common.status.StatusCheckerExtension point for exposing the internal status of components. Each component that needs to expose status can implement this extension point.org.apache.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusCheckerActivated by setting dubbo.protocol.status=spi-name1,spi-name2.
org.apache.dubbo.config.ServiceListenerCallback extension point for ServiceConfig; every ServiceConfig will be called back after successfully exporting/unexporting. The interception point is slightly different from ExporterListener.NoneAutomatically activated, no configuration needed.
org.apache.dubbo.registry.RegistryServiceListenerCallback extension point after service URL registers/unregisters with the registry center; all extension implementations will be notified in sequence.NoneExtensions must add the @Activate annotation to be activated, default activated. Supports controlling specific activated implementations through registry.listeners in the Registry URL such as dubbo.registry.parameters.registry.listeners=spi-name1,spi-name2.
org.apache.dubbo.registry.integration.RegistryProtocolListenerFor interface-level service discovery.org.apache.dubbo.registry.client.migration.MigrationRuleListenerRegistryProtocol listener is introduced to provide a chance to users to customize or change export and refer behavior of RegistryProtocol. For example: re-export or re-refer on the fly when certain conditions are met.
org.apache.dubbo.qos.probe.LivenessProbeLifecycle detection extension point. It can be configured for k8s liveness checks via the qos live HTTP interface.NoneExtensions must add the @Activate annotation to be activated; default activated. Supports controlling which implementations are activated through dubbo.application.liveness-probe=spi-name1,spi-name2 in the URL.
org.apache.dubbo.qos.probe.ReadinessProbeLifecycle detection extension point. It can be configured for k8s readiness checks via the qos ready HTTP interface.NoneSimilar as above.
org.apache.dubbo.qos.probe.StartupProbeLifecycle detection extension point. It can be configured for k8s startup checks via the qos startup HTTP interface.NoneSimilar as above.
org.apache.dubbo.common.deploy.ApplicationDeployListenerCallback extension during the Dubbo process lifecycle, supporting multiple callback points including initialization, startup success, and stop. For multi-application deployment scenarios, it is a single application granularity lifecycle callback.org.apache.dubbo.security.cert.CertDeployerListenerAutomatically activated, no configuration needed.
org.apache.dubbo.common.deploy.ModuleDeployListenerCallback extension during the Dubbo process lifecycle, supporting multiple callback points. For multi-module deployment scenarios, it is a single module granularity lifecycle callback.NoneAutomatically activated, no configuration needed.
org.apache.dubbo.qos.api.BaseCommandQoS command extension point; implementing this extension adds new QoS commands.org.apache.dubbo.qos.command.impl.LsAutomatically activated, no configuration needed.
org.apache.dubbo.remoting.telnet.TelnetHandler
org.apache.dubbo.config.bootstrap.DubboBootstrapStartStopListener
SPI Extension DefinitionFunction DescriptionExample ImplementationActivation Conditions
org.apache.dubbo.common.extension.ExtensionInjectorIoC injector extension point; through extensions, various types of instances can be automatically injected, used for the integration of Dubbo framework SPI instances and different IoC containers, such as supporting Spring Bean injection SPI instances.org.apache.dubbo.config.spring.extension.SpringExtensionInjectorAutomatically activated, no additional configuration needed.
org.apache.dubbo.common.infra.InfraAdapterCustom loading environment variables extension implementation; allows batch retrieval of environment variables through coding, and the framework will automatically append these values to each service’s URL parameters.org.apache.dubbo.common.infra.support.EnvironmentAdapterAutomatically activated, no additional configuration needed.
org.apache.dubbo.common.logger.LoggerAdapterLog framework adapter; if you want to provide support for a log framework not supported by Dubbo, you can use this extension point.org.apache.dubbo.common.logger.slf4j.Slf4jLoggerAdapterActivated by configuring dubbo.application.logger=spi-name.
org.apache.dubbo.config.ConfigInitializerCustomize ServiceConfig and ReferenceConfig parameters before configuration initialization and service initialization.NoneExtensions must add the @Activate annotation to be activated, activation conditions can be added as needed.
org.apache.dubbo.config.CommonConfigPostProcessorCustomize ServiceConfig and ReferenceConfig parameters after configuration initialization, but before service initialization. Executes after ConfigInitializer.org.apache.dubbo.rpc.protocol.rest.config.FeignClientAnnotationConfigPostProcessorExtensions must add the @Activate annotation to be activated; activation conditions can be added as needed.
org.apache.dubbo.config.spring.context.DubboSpringInitCustomizerCustom Dubbo spring initialization; customize Dubbo spring initialization during bean registry processing phase.NoneAutomatically activated, no additional configuration needed.

Service Discovery

SPI Extension DefinitionFunction DescriptionExample ImplementationActivation Conditions
org.apache.dubbo.registry.AddressListenerExtension used for service discovery. This extension will be triggered when URL address notifications occur; address preprocessing operations can be performed.NoneExtensions must add the @Activate annotation to be activated; activation conditions can be configured as needed.
org.apache.dubbo.registry.ProviderFirstParamsUsed for service discovery; specifies URL parameter priorities. The parameters list returned by this extension has provider priorities higher than consumer.org.apache.dubbo.registry.support.DefaultProviderFirstParamsAutomatically activated, no configuration needed.
org.apache.dubbo.registry.RegistryFactoryFor interface-level service discovery. Extensions can implement different registration center adaptations through this SPI.org.apache.dubbo.registry.nacos.NacosRegistryFactoryActivated by configuring dubbo.registry.address=spi-name://ip:port.
org.apache.dubbo.registry.client.RegistryClusterIdentifierFor application-level service discovery. The Dubbo framework supports specifying identification for the registry center cluster, allowing categorization of address URLs based on the cluster they come from.org.apache.dubbo.registry.client.DefaultRegistryClusterIdentifierActivated by configuring dubbo.provider.parameters.registry-cluster-type=spi-name to specify the extension implementation.
org.apache.dubbo.registry.client.ServiceDiscoveryFactoryFor application-level service discovery. Extensions can implement different registration center adaptations through this SPI.org.apache.dubbo.registry.nacos.NacosServiceDiscoveryFactoryActivated by configuring dubbo.registry.address=spi-name://ip:port, while specifying dubbo.registry.register-mode=instance to activate application-level service discovery.
org.apache.dubbo.registry.client.ServiceInstanceCustomizerFor application-level service discovery; customizations can be made before application-level instance URLs are registered to the registry center.org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataCustomizerAutomatically activated, no configuration needed.
org.apache.dubbo.registry.client.migration.MigrationAddressComparatorUsed for application-level service discovery; this extension serves as part of the interface-level to application-level address migration mechanism.org.apache.dubbo.registry.client.migration.DefaultMigrationAddressComparatorAutomatically activated, no configuration needed.
org.apache.dubbo.registry.client.migration.PreMigratingConditionCheckerFor application-level service discovery; this extension allows custom check logic before the framework decides to migrate addresses.NoneAutomatically activated, no configuration needed.
org.apache.dubbo.metadata.MetadataParamsFilterFor application-level service discovery; allows control over which parameters are registered to the registry and which are registered as service metadata.org.apache.dubbo.metadata.DefaultMetadataParamsFilterExtensions must add the @Activate annotation to be activated. Supports URL configuration params-filter to control which implementation is activated, such as dubbo.provider.parameters.params-filter=-default,spi-name1 to disable all implementations and only enable spi-name1.
org.apache.dubbo.registry.client.metadata.ServiceInstanceNotificationCustomizerFor application-level service discovery; identifies special types of address URLs, e.g., an extension implementation to identify Spring Cloud Alibaba Dubbo type addresses.org.apache.dubbo.registry.client.metadata.SpringCloudServiceInstanceNotificationCustomizerAutomatically activated, no configuration needed.
org.apache.dubbo.registry.integration.ServiceURLCustomizerFor interface-level service discovery; specifies which URLs to register to the registry and which URLs not to register when optimizing the interface-level address list.org.apache.dubbo.registry.integration.DefaultServiceURLCustomizerAutomatically activated, no configuration needed.
org.apache.dubbo.rpc.cluster.ProviderURLMergeProcessorFor interface-level service discovery; this extension is used to complete the merge of consumer URL and provider URL, allowing control over merge strategies to retain different keys and use different overlay relations.org.apache.dubbo.rpc.cluster.support.merger.DefaultProviderURLMergeProcessorActivated by configuring dubbo.consumer.url-merge-processor=spi-name to enable the specified extension implementation.

RPC and Traffic Control

SPI Extension DefinitionFunction DescriptionExample ImplementationActivation Conditions
org.apache.dubbo.rpc.ProtocolRPC protocol implementation extension point; this extension can add more protocol implementations.org.apache.dubbo.rpc.protocol.dubbo.DubboProtocolActivated by configuring dubbo.protocol.name=spi-name.
org.apache.dubbo.rpc.ProxyFactoryRPC proxy implementation extension point; can provide various proxy implementations, such as bytecode enhancement, JDK, etc.org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactoryActivated by configuring dubbo.application.compiler=spi-name.
org.apache.dubbo.rpc.ZoneDetectorIn multi-registration center scenarios, Dubbo provides an automatic same-region priority matching strategy. This extension allows easier customization of zone reading strategies.NoneOnly one ZoneDetector implementation will be activated; the one with the key ‘default’ will be prioritized.
org.apache.dubbo.rpc.cluster.ClusterRPC request disaster recovery strategy extension point, for instance, you can set actions to take when a request fails, like FailoverCluster, FailfastCluster, etc.org.apache.dubbo.rpc.cluster.support.FailoverClusterActivated by configuring dubbo.consumer.cluster=spi-name.
org.apache.dubbo.rpc.cluster.LoadBalanceLoad balancing strategy extension point; various load balancing strategies can be implemented through extensions.org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalanceActivated by configuring dubbo.consumer.loadbalance=spi-name.
org.apache.dubbo.rpc.HeaderFilterVarious attachment/header validation strategies through different extension implementations before RPC requests.org.apache.dubbo.rpc.filter.TokenHeaderFilterExtensions must add the @Activate annotation to be activated; supports controlling implementations activated through header.filter=spi-name1,spi-name2 in the URL.
org.apache.dubbo.rpc.FilterRPC request filter; filters RPC calls before the request is initiated and after the response is returned.org.apache.dubbo.rpc.filter.GenericFilterExtensions must add the @Activate annotation to be activated; activation conditions can also be configured, e.g., @Activate(group=“consumer”). Supports controlling which implementations to activate in the provider side via service.filter=spi-name1,spi-name2, and in the consumer side via reference.filter=spi-name1,spi-name2.
org.apache.dubbo.rpc.cluster.filter.ClusterFilterRPC request filter; functions the same as Filter but occurs before service locating. Most users can directly use org.apache.dubbo.rpc.Filter.org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilterExtensions must add the @Activate annotation to be activated; supports controlling which implementations to activate through filter=spi-name1,spi-name2 in the URL.
org.apache.dubbo.rpc.cluster.RouterFactoryRouter extension point; allows adding different routing rule strategies through extensions.NoneExtensions must add the @Activate annotation to be activated; supports controlling which implementations to activate through router=spi-name1,spi-name2 in the URL.
org.apache.dubbo.rpc.cluster.router.state.StateRouterFactoryRouter extension point; similar to RouterFactory but with higher performance. For most users, RouterFactory can be directly used for simplicity.org.apache.dubbo.rpc.cluster.router.condition.ConditionStateRouterFactoryExtensions must add the @Activate annotation to be activated; supports controlling which implementations to activate through router=spi-name1,spi-name2 in the URL.
org.apache.dubbo.rpc.cluster.ConfiguratorFactoryDynamic configuration rule extension point; allows adding different dynamic configuration rule strategies.org.apache.dubbo.rpc.cluster.configurator.override.OverrideConfiguratorFactoryExtensions must add the @Activate annotation to be activated; supports controlling which implementations to activate through router=spi-name1,spi-name2 in the URL.
org.apache.dubbo.rpc.cluster.router.condition.matcher.pattern.ValuePatternRouting rule processing extension point; internal rule processor for conditional routing rules; extends support for richer rules and matching conditions.org.apache.dubbo.rpc.cluster.router.condition.matcher.pattern.range.RangeValuePatternAutomatically activated; activation of specific implementations can be controlled through rules.
org.apache.dubbo.rpc.cluster.router.condition.matcher.ConditionMatcherFactoryRouting rule processing extension point; internal rule processor for conditional routing rules; extends support for richer rules and matching conditions.org.apache.dubbo.rpc.cluster.router.condition.matcher.argument.ArgumentConditionMatcherFactoryExtensions must add the @Activate annotation to be activated; activation conditions can be configured as needed.
org.apache.dubbo.rpc.cluster.router.mesh.util.TracingContextProviderMeshRule routing rule processing extension point; used to read context from different third-party tracing systems.NoneAutomatically activated, no configuration needed.
org.apache.dubbo.rpc.cluster.router.mesh.route.MeshEnvListenerFactoryMeshRule routing rule processing extension point.NoneAutomatically activated, no configuration needed.
org.apache.dubbo.cache.CacheFactoryCache implementation extension point for caching RPC call results.org.apache.dubbo.cache.support.expiring.ExpiringCacheFactoryActivated by controlling which implementation to activate through cache=spi-name in the URL.
org.apache.dubbo.common.serialize.SerializationSerialization protocol extension point; use this extension if you want to add new serialization protocols.org.apache.dubbo.common.serialize.hessian2.Hessian2SerializationActivated by configuring dubbo.provider.serialization=spi-name.
org.apache.dubbo.common.threadpool.ThreadPoolThread pool strategy extension point; currently only suitable for Dubbo protocol implementations, not applicable for Triple protocol.org.apache.dubbo.common.threadpool.support.fixed.FixedThreadPoolActivated by configuring dubbo.provider.threadpool=spi-name.
org.apache.dubbo.rpc.executor.IsolationExecutorSupportFactoryThread pool isolation strategy extension point; various isolation strategies can be defined for Dubbo and Triple protocols; each protocol can set one thread pool isolation strategy.org.apache.dubbo.rpc.protocol.tri.transport.TripleIsolationExecutorSupportFactoryMust follow user-configured dubbo.protocol.name; config key must match RPC protocol name.
org.apache.dubbo.rpc.PenetrateAttachmentSelectorThis extension allows custom parameters to be passed through the chain (Dubbo link); Dubbo only passes parameters from A->B by default, but this extension can control parameters to pass from A->B->C.NoneAutomatically activated, no configuration needed.
org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptorSame as org.apache.dubbo.rpc.cluster.filter.ClusterFilter; deprecated.Deprecated.

Service Governance

SPI Extension DefinitionFunction DescriptionExample ImplementationActivation Conditions
org.apache.dubbo.common.config.configcenter.DynamicConfigurationFactoryCore extension point for configuration center; provides different configuration center adaptation implementations.org.apache.dubbo.configcenter.support.nacos.NacosDynamicConfigurationFactoryActivated by specifying dubbo.config-center.address=spi-name://.
org.apache.dubbo.metadata.report.MetadataReportFactoryExtension point for metadata center to provide new storage implementations for metadata center.org.apache.dubbo.metadata.store.nacos.NacosMetadataReportFactoryActivated by specifying dubbo.metadata-report.address=spi-name://.
org.apache.dubbo.metrics.report.MetricsReporterFactoryMetrics reporting extension point; can adapt to different Metrics backend services through extensions.org.apache.dubbo.metrics.prometheus.PrometheusMetricsReporterFactoryActivated by specifying dubbo.metrics.protocol=spi-name.
org.apache.dubbo.metrics.collector.MetricsCollectorInternal metrics collection extension point; can support RPC, registry, and other components’ metrics data collection through extensions.org.apache.dubbo.metrics.registry.collector.RegistryMetricsCollectorExtensions must add the @Activate annotation to be activated; activation conditions can be added as needed.
org.apache.dubbo.auth.spi.AccessKeyStorageUsed for the dubbo-auth module; this extension point can read AK from different sources.org.apache.dubbo.auth.DefaultAccessKeyStorageActivated by specifying accessKey.storage URL parameter.
org.apache.dubbo.auth.spi.AuthenticatorUsed for the dubbo-auth module; this extension point implements specific authentication logic.org.apache.dubbo.auth.AccessKeyAuthenticatorActivated by specifying authenticator URL parameter.
org.apache.dubbo.common.ssl.CertProviderTLS certificate source extension used for adapting different certificate source implementations.org.apache.dubbo.common.ssl.impl.SSLConfigCertProviderExtensions must add the @Activate annotation to be activated.

Protocol and Transport Layer Implementation

SPI Extension DefinitionFunction DescriptionExample ImplementationActivation Conditions
org.apache.dubbo.remoting.ChannelHandler
org.apache.dubbo.remoting.Codec
org.apache.dubbo.remoting.Codec2
org.apache.dubbo.remoting.Dispatcher
org.apache.dubbo.remoting.Transporter
org.apache.dubbo.rpc.protocol.dubbo.ByteAccessor
org.apache.dubbo.remoting.api.pu.PortUnificationTransporter
org.apache.dubbo.remoting.api.WireProtocol
org.apache.dubbo.remoting.api.connection.ConnectionManager
org.apache.dubbo.remoting.exchange.Exchanger
org.apache.dubbo.remoting.http.HttpBinder
org.apache.dubbo.remoting.http12.message.HttpMessageEncoderFactory
org.apache.dubbo.remoting.http12.message.HttpMessageDecoderFactory
org.apache.dubbo.remoting.http12.h2.Http2ServerTransportListenerFactory
org.apache.dubbo.remoting.http12.h1.Http1ServerTransportListenerFactory
org.apache.dubbo.remoting.http12.message.HttpMessageAdapterFactory
org.apache.dubbo.metadata.annotation.processing.builder.TypeBuilder
org.apache.dubbo.metadata.annotation.processing.rest.AnnotatedMethodParameterProcessor
org.apache.dubbo.metadata.annotation.processing.rest.ServiceRestMetadataResolver
org.apache.dubbo.metadata.definition.builder.TypeBuilder
org.apache.dubbo.metadata.rest.AnnotatedMethodParameterProcessor
org.apache.dubbo.metadata.rest.ServiceRestMetadataReader
org.apache.dubbo.rpc.protocol.tri.compressor.Compressor
org.apache.dubbo.rpc.protocol.tri.compressor.DeCompressor
org.apache.dubbo.rpc.protocol.tri.rest.argument.ArgumentConverter
org.apache.dubbo.rpc.protocol.tri.rest.argument.ArgumentResolver
org.apache.dubbo.rpc.protocol.tri.rest.filter.RestExtension
org.apache.dubbo.rpc.protocol.tri.rest.filter.RestExtensionAdapter
org.apache.dubbo.rpc.protocol.tri.rest.mapping.RequestMappingResolver
org.apache.dubbo.rpc.protocol.tri.route.RequestHandlerMapping
org.apache.dubbo.rpc.protocol.rest.annotation.param.parse.provider.BaseProviderParamParser
org.apache.dubbo.metadata.rest.ServiceRestMetadataResolver
org.apache.dubbo.rpc.protocol.rest.filter.RestRequestFilter
org.apache.dubbo.rpc.protocol.rest.filter.RestResponseFilter
org.apache.dubbo.metadata.rest.NoAnnotatedParameterRequestTagProcessor
org.apache.dubbo.rpc.protocol.rest.message.HttpMessageCodec
org.apache.dubbo.rpc.protocol.rest.annotation.consumer.HttpConnectionPreBuildIntercept
org.apache.dubbo.rpc.protocol.rest.annotation.param.parse.consumer.BaseConsumerParamParser
org.apache.dubbo.remoting.http.factory.RestClientFactory
org.apache.dubbo.rpc.protocol.rest.filter.RestResponseInterceptor
org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter

Framework Internal Implementation

SPI Extension DefinitionFunction DescriptionExample ImplementationActivation Conditions
org.apache.dubbo.common.url.component.param.DynamicParamSourceAllows custom dynamic parameter lists extension, related to URL storage optimizations in Dubbo3.org.apache.dubbo.common.url.component.param.DefaultDynamicParamSource
org.apache.dubbo.common.compiler.CompilerSets adaptive extension implementations for the Dubbo IoC container dependent on bytecode tools. Default uses Javassist, can be set to use JDK or ByteBuddy, etc.org.apache.dubbo.common.compiler.support.JavassistCompiler
org.apache.dubbo.common.serialize.MultipleSerialization
org.apache.dubbo.common.convert.ConverterImplements conversion from source type to target type, mainly limited to internal framework integration.org.apache.dubbo.common.convert.StringToFloatConverter
org.apache.dubbo.common.config.OrderedPropertiesProviderProvides more properties sources for the framework through extension, mainly limited to internal framework integration.None
org.apache.dubbo.common.convert.multiple.MultiValueConverterImplements conversion from source type to target type, mainly limited to internal framework integration.org.apache.dubbo.common.convert.multiple.StringToArrayConverter
org.apache.dubbo.common.store.DataStore
org.apache.dubbo.common.threadpool.manager.ExecutorRepository
org.apache.dubbo.spring.security.jackson.ObjectMapperCodecCustomer
org.apache.dubbo.validation.Validation
org.apache.dubbo.rpc.PathResolver
org.apache.dubbo.rpc.model.PackableMethodFactory
org.apache.dubbo.rpc.model.ApplicationInitListener
org.apache.dubbo.rpc.model.BuiltinServiceDetector
org.apache.dubbo.rpc.model.ScopeModelInitializer
org.apache.dubbo.aot.api.ReflectionTypeDescriberRegistrar
org.apache.dubbo.aot.api.ProxyDescriberRegistrar
org.apache.dubbo.common.json.JsonUtil
org.apache.dubbo.rpc.protocol.injvm.ParamDeepCopyUtil
org.apache.dubbo.aot.api.ResourceDescriberRegistrar
org.apache.dubbo.common.context.ApplicationExt
org.apache.dubbo.common.context.ModuleExt
org.apache.dubbo.metrics.service.MetricsServiceInternal service definition for releasing/exposing Metrics indicators, published as a standard Dubbo service.org.apache.dubbo.metrics.service.DefaultMetricsService
org.apache.dubbo.metrics.service.MetricsServiceExporter
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder
org.apache.dubbo.rpc.cluster.filter.InvocationInterceptorBuilder
org.apache.dubbo.rpc.cluster.MergerCurrently used for multi-group calling scenarios to merge request results.
org.apache.dubbo.rpc.cluster.governance.GovernanceRuleRepository
org.apache.dubbo.qos.permission.PermissionCheckerChecks extended QoS execution permission logic, in conjunction with the @CMD permission annotation for each QoS command, combining context for checks.org.apache.dubbo.qos.permission.DefaultAnonymousAccessPermissionCheckerDefaults to supporting only qosPermissionChecker.
org.apache.dubbo.common.status.reporter.FrameworkStatusReporterExtension point for reporting the internal running status of the Dubbo framework. Currently used for statistics in service discovery model automatic migration, all migration actions will be reported through this extension.NoneAutomatically activated, no configuration needed.
org.apache.dubbo.registry.client.metadata.MetadataServiceURLBuilderFor application-level service discovery; generates custom logic when creating MetadataService URL after receiving application-level address URL pushes (only for point-to-point application-level address discovery).org.apache.dubbo.registry.client.metadata.StandardMetadataServiceURLBuilder
org.apache.dubbo.metadata.ServiceNameMappingUsed for application-level service discovery.org.apache.dubbo.registry.client.metadata.MetadataServiceNameMapping
org.apache.dubbo.common.extension.ExtensionFactory