diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAspectsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAspectsAutoConfiguration.java index 977ea6539cb..0c680cd7e23 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAspectsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAspectsAutoConfiguration.java @@ -23,16 +23,13 @@ import io.micrometer.core.instrument.MeterRegistry; import org.aspectj.weaver.Advice; import org.springframework.beans.factory.ObjectProvider; -import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAspectsAutoConfiguration.ObservationAnnotationsEnabledCondition; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.AnyNestedCondition; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Conditional; /** * {@link EnableAutoConfiguration Auto-configuration} for Micrometer-based metrics @@ -43,7 +40,7 @@ import org.springframework.context.annotation.Conditional; */ @AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass({ MeterRegistry.class, Advice.class }) -@Conditional(ObservationAnnotationsEnabledCondition.class) +@ConditionalOnBooleanProperty("management.observations.annotations.enabled") @ConditionalOnBean(MeterRegistry.class) public class MetricsAspectsAutoConfiguration { @@ -62,22 +59,4 @@ public class MetricsAspectsAutoConfiguration { return timedAspect; } - static final class ObservationAnnotationsEnabledCondition extends AnyNestedCondition { - - ObservationAnnotationsEnabledCondition() { - super(ConfigurationPhase.PARSE_CONFIGURATION); - } - - @ConditionalOnBooleanProperty("micrometer.observations.annotations.enabled") - static class MicrometerObservationsEnabledCondition { - - } - - @ConditionalOnBooleanProperty("management.observations.annotations.enabled") - static class ManagementObservationsEnabledCondition { - - } - - } - } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfiguration.java index 781446b0c49..748f1f45bb8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfiguration.java @@ -33,13 +33,11 @@ import org.aspectj.weaver.Advice; import org.springframework.beans.factory.BeanFactory; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.AnyNestedCondition; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; @@ -104,7 +102,7 @@ public class MicrometerTracingAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(Advice.class) - @Conditional(ObservationAnnotationsEnabledCondition.class) + @ConditionalOnBooleanProperty("management.observations.annotations.enabled") static class SpanAspectConfiguration { @Bean @@ -152,22 +150,4 @@ public class MicrometerTracingAutoConfiguration { } - static final class ObservationAnnotationsEnabledCondition extends AnyNestedCondition { - - ObservationAnnotationsEnabledCondition() { - super(ConfigurationPhase.PARSE_CONFIGURATION); - } - - @ConditionalOnBooleanProperty("micrometer.observations.annotations.enabled") - static class MicrometerObservationsEnabledCondition { - - } - - @ConditionalOnBooleanProperty("management.observations.annotations.enabled") - static class ManagementObservationsEnabledCondition { - - } - - } - } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 98fb9552ce3..a6e79482380 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -2247,14 +2247,6 @@ "name": "management.zipkin.tracing.export.enabled", "type": "java.lang.Boolean", "description": "Whether auto-configuration of tracing is enabled to export Zipkin traces." - }, - { - "name": "micrometer.observations.annotations.enabled", - "type": "java.lang.Boolean", - "deprecation": { - "level": "error", - "replacement": "management.observations.annotations.enabled" - } } ], "hints": [ diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAspectsAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAspectsAutoConfigurationTests.java index 5371146e0f4..d01bc5c2e47 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAspectsAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAspectsAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,17 +54,6 @@ class MetricsAspectsAutoConfigurationTests { }); } - @Test - void shouldConfigureAspectsWithLegacyProperty() { - new ApplicationContextRunner().with(MetricsRun.simple()) - .withConfiguration(AutoConfigurations.of(MetricsAspectsAutoConfiguration.class)) - .withPropertyValues("micrometer.observations.annotations.enabled=true") - .run((context) -> { - assertThat(context).hasSingleBean(CountedAspect.class); - assertThat(context).hasSingleBean(TimedAspect.class); - }); - } - @Test void shouldConfigureAspects() { this.contextRunner.run((context) -> { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfigurationTests.java index 00a3a3977bb..8f6cbffee3a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -145,18 +145,6 @@ class MicrometerTracingAutoConfigurationTests { }); } - @Test - void shouldSupplyAspectBeansIfLegacyPropertyIsEnabled() { - new ApplicationContextRunner().withPropertyValues("micrometer.observations.annotations.enabled=true") - .withConfiguration(AutoConfigurations.of(MicrometerTracingAutoConfiguration.class)) - .withUserConfiguration(TracerConfiguration.class, PropagatorConfiguration.class) - .run((context) -> { - assertThat(context).hasSingleBean(DefaultNewSpanParser.class); - assertThat(context).hasSingleBean(ImperativeMethodInvocationProcessor.class); - assertThat(context).hasSingleBean(SpanAspect.class); - }); - } - @Test void shouldNotSupplyBeansIfAspectjIsMissing() { this.contextRunner.withUserConfiguration(TracerConfiguration.class)