From 08727e8e270ce355a51417d9604dfd2954b6fe6b Mon Sep 17 00:00:00 2001 From: Albumen Kevin Date: Fri, 19 May 2023 16:18:12 +0800 Subject: [PATCH] Metrics and Metadata Service Export when needed (#12346) --- .../dubbo/common/constants/CommonConstants.java | 4 ++++ .../org/apache/dubbo/config/MetricsConfig.java | 15 ++++++++++++++- .../config/deploy/DefaultApplicationDeployer.java | 14 +++++++++----- .../config/metadata/ExporterDeployListener.java | 11 ++++++++++- .../src/main/resources/META-INF/dubbo.xsd | 6 ++++++ 5 files changed, 43 insertions(+), 7 deletions(-) diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java index 266cacc7a5..0cc9e06c6f 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java @@ -239,6 +239,10 @@ public interface CommonConstants { String REMOTE_METADATA_STORAGE_TYPE = "remote"; + String INTERFACE_REGISTER_MODE = "interface"; + + String DEFAULT_REGISTER_MODE = "all"; + String GENERIC_KEY = "generic"; /** diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java b/dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java index 62e1882143..a7540dc63e 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java @@ -19,8 +19,8 @@ package org.apache.dubbo.config; import org.apache.dubbo.common.URL; import org.apache.dubbo.common.utils.UrlUtils; import org.apache.dubbo.config.nested.AggregationConfig; -import org.apache.dubbo.config.nested.PrometheusConfig; import org.apache.dubbo.config.nested.HistogramConfig; +import org.apache.dubbo.config.nested.PrometheusConfig; import org.apache.dubbo.config.support.Nested; import org.apache.dubbo.rpc.model.ApplicationModel; @@ -56,6 +56,11 @@ public class MetricsConfig extends AbstractConfig { */ private Boolean enableMetadata; + /** + * Export metrics service. + */ + private Boolean exportMetricsService; + /** * @deprecated After metrics config is refactored. * This parameter should no longer use and will be deleted in the future. @@ -186,6 +191,14 @@ public class MetricsConfig extends AbstractConfig { this.enableMetadata = enableMetadata; } + public Boolean getExportMetricsService() { + return exportMetricsService; + } + + public void setExportMetricsService(Boolean exportMetricsService) { + this.exportMetricsService = exportMetricsService; + } + public Boolean getEnableThreadpool() { return enableThreadpool; } 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 0e8fc3dd86..a7eede5af9 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 @@ -751,11 +751,15 @@ public class DefaultApplicationDeployer extends AbstractDeployer + + + + + +