From 63c827b14d662d25c20b85f1eb9753c83fa7e112 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Fri, 9 Feb 2018 14:44:07 -0800 Subject: [PATCH] Ensure exports are configured before endpoint Update `SimpleMetricsExportAutoConfiguration` to ensure that it runs before `SimpleMetricsExportAutoConfiguration`. See gh-11977 --- .../metrics/MetricsEndpointAutoConfiguration.java | 2 +- .../export/simple/SimpleMetricsExportAutoConfiguration.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java index 49f155fc56..7c917fd64b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java @@ -37,11 +37,11 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @ConditionalOnClass(Timed.class) -@ConditionalOnBean(MeterRegistry.class) @AutoConfigureAfter(MetricsAutoConfiguration.class) public class MetricsEndpointAutoConfiguration { @Bean + @ConditionalOnBean(MeterRegistry.class) @ConditionalOnMissingBean @ConditionalOnEnabledEndpoint public MetricsEndpoint metricsEndpoint(MeterRegistry registry) { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.java index eb88f5fbad..4eaabe0e22 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.java @@ -22,7 +22,9 @@ import io.micrometer.core.instrument.simple.SimpleConfig; import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; +import org.springframework.boot.actuate.autoconfigure.metrics.MetricsEndpointAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -40,6 +42,7 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @AutoConfigureAfter(MetricsAutoConfiguration.class) +@AutoConfigureBefore(MetricsEndpointAutoConfiguration.class) @ConditionalOnBean(Clock.class) @EnableConfigurationProperties(SimpleProperties.class) @ConditionalOnMissingBean(MeterRegistry.class)