Fix dubbo.enabled=false not work in actuator configurators (#13360)

* Fix dubbo.enabled=false not work in actuator configurators

* Fix style

* Fix style
This commit is contained in:
Albumen Kevin 2023-11-15 11:36:04 +08:00 committed by GitHub
parent 7c3e592ebb
commit 8daa3dc5f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 38 additions and 1 deletions

View File

@ -27,10 +27,13 @@ import org.apache.dubbo.spring.boot.actuate.endpoint.condition.CompatibleConditi
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySource;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* Dubbo {@link Endpoint @Endpoint} Auto-{@link Configuration} for Spring Boot Actuator 2.0 * Dubbo {@link Endpoint @Endpoint} Auto-{@link Configuration} for Spring Boot Actuator 2.0
* *
@ -38,6 +41,7 @@ import org.springframework.context.annotation.PropertySource;
* @see Configuration * @see Configuration
* @since 2.7.0 * @since 2.7.0
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@Configuration @Configuration
@PropertySource( @PropertySource(
name = "Dubbo Endpoints Default Properties", name = "Dubbo Endpoints Default Properties",

View File

@ -23,10 +23,14 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegi
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication @ConditionalOnWebApplication
@AutoConfigureAfter(CompositeMeterRegistryAutoConfiguration.class) @AutoConfigureAfter(CompositeMeterRegistryAutoConfiguration.class)

View File

@ -25,15 +25,19 @@ import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* Dubbo {@link Endpoint} Auto Configuration is compatible with Spring Boot Actuator 1.x * Dubbo {@link Endpoint} Auto Configuration is compatible with Spring Boot Actuator 1.x
* *
* @since 2.7.0 * @since 2.7.0
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@Configuration @Configuration
@ConditionalOnClass( @ConditionalOnClass(
name = {"org.springframework.boot.actuate.endpoint.Endpoint" // Spring Boot 1.x name = {"org.springframework.boot.actuate.endpoint.Endpoint" // Spring Boot 1.x

View File

@ -20,12 +20,16 @@ import org.apache.dubbo.spring.boot.actuate.endpoint.metadata.AbstractDubboMetad
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* Dubbo Endpoints Metadata Auto-{@link Configuration} * Dubbo Endpoints Metadata Auto-{@link Configuration}
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@ConditionalOnClass( @ConditionalOnClass(
name = {"org.springframework.boot.actuate.health.Health" // If spring-boot-actuator is present name = {"org.springframework.boot.actuate.health.Health" // If spring-boot-actuator is present
}) })

View File

@ -35,7 +35,10 @@ import org.springframework.context.annotation.Configuration;
*/ */
@Configuration @Configuration
@ConditionalOnClass(name = {"org.springframework.boot.actuate.health.Health"}) @ConditionalOnClass(name = {"org.springframework.boot.actuate.health.Health"})
@ConditionalOnProperty(name = "management.health.dubbo.enabled", matchIfMissing = true, havingValue = "true") @ConditionalOnProperty(
name = {"management.health.dubbo.enabled", "dubbo.enabled"},
matchIfMissing = true,
havingValue = "true")
@EnableConfigurationProperties(DubboHealthIndicatorProperties.class) @EnableConfigurationProperties(DubboHealthIndicatorProperties.class)
public class DubboHealthIndicatorAutoConfiguration { public class DubboHealthIndicatorAutoConfiguration {

View File

@ -22,13 +22,17 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* copy from {@link org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration} * copy from {@link org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration}
* this class is available starting from Boot 3.0. It's not available if you're using Boot < 3.0 * this class is available starting from Boot 3.0. It's not available if you're using Boot < 3.0
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@ConditionalOnDubboTracingEnable @ConditionalOnDubboTracingEnable
@ConditionalOnClass( @ConditionalOnClass(
name = { name = {

View File

@ -36,13 +36,17 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* Register observationRegistry to ApplicationModel. * Register observationRegistry to ApplicationModel.
* Create observationRegistry when you are using Boot <3.0 or you are not using spring-boot-starter-actuator * Create observationRegistry when you are using Boot <3.0 or you are not using spring-boot-starter-actuator
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration( @AutoConfiguration(
after = DubboMicrometerTracingAutoConfiguration.class, after = DubboMicrometerTracingAutoConfiguration.class,
afterName = "org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration") afterName = "org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration")

View File

@ -38,9 +38,12 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* provider Brave when you are using Boot <3.0 or you are not using spring-boot-starter-actuator * provider Brave when you are using Boot <3.0 or you are not using spring-boot-starter-actuator
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration( @AutoConfiguration(
before = DubboMicrometerTracingAutoConfiguration.class, before = DubboMicrometerTracingAutoConfiguration.class,
afterName = "org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration") afterName = "org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration")

View File

@ -35,10 +35,12 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import static org.apache.dubbo.spring.boot.observability.autoconfigure.ObservabilityUtils.DUBBO_TRACING_OTLP_CONFIG_PREFIX; import static org.apache.dubbo.spring.boot.observability.autoconfigure.ObservabilityUtils.DUBBO_TRACING_OTLP_CONFIG_PREFIX;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* @since 3.2.2 * @since 3.2.2
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration @AutoConfiguration
@ConditionalOnClass({OtelTracer.class, SdkTracerProvider.class, OpenTelemetry.class, OtlpGrpcSpanExporter.class}) @ConditionalOnClass({OtelTracer.class, SdkTracerProvider.class, OpenTelemetry.class, OtlpGrpcSpanExporter.class})
@ConditionalOnDubboTracingEnable @ConditionalOnDubboTracingEnable

View File

@ -36,6 +36,7 @@ import zipkin2.codec.SpanBytesEncoder;
import zipkin2.reporter.Sender; import zipkin2.reporter.Sender;
import static org.apache.dubbo.spring.boot.observability.autoconfigure.ObservabilityUtils.DUBBO_TRACING_ZIPKIN_CONFIG_PREFIX; import static org.apache.dubbo.spring.boot.observability.autoconfigure.ObservabilityUtils.DUBBO_TRACING_ZIPKIN_CONFIG_PREFIX;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for Zipkin. * {@link EnableAutoConfiguration Auto-configuration} for Zipkin.
@ -46,6 +47,7 @@ import static org.apache.dubbo.spring.boot.observability.autoconfigure.Observabi
* *
* @since 3.2.1 * @since 3.2.1
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration( @AutoConfiguration(
after = RestTemplateAutoConfiguration.class, after = RestTemplateAutoConfiguration.class,
afterName = "org.springframework.boot.actuate.autoconfigure.tracing.zipkin") afterName = "org.springframework.boot.actuate.autoconfigure.tracing.zipkin")

View File

@ -37,9 +37,12 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/** /**
* provider OpenTelemetry when you are using Boot <3.0 or you are not using spring-boot-starter-actuator * provider OpenTelemetry when you are using Boot <3.0 or you are not using spring-boot-starter-actuator
*/ */
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration( @AutoConfiguration(
before = DubboMicrometerTracingAutoConfiguration.class, before = DubboMicrometerTracingAutoConfiguration.class,
afterName = "org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration") afterName = "org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration")