From 8c140092b66be7ac6b5433b8fcb6beedd36dbb73 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 3 Nov 2015 10:14:39 +0100 Subject: [PATCH] Fix key to disable the metrics filter Commit d0cf6b5 introduced a `endpoints.metrics.filter.enabled` property key meant to disable the filter. Unfortunately, the `endpoints.metrics` namespace is already managed so setting this property will fail. We now use the same key than the one used to disable the metrics endpoint. Closes gh-4365 --- .../autoconfigure/MetricFilterAutoConfiguration.java | 2 +- .../MetricFilterAutoConfigurationTests.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfiguration.java index 96f01013da3..59101103d26 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfiguration.java @@ -46,7 +46,7 @@ import org.springframework.web.servlet.HandlerMapping; @ConditionalOnClass({ Servlet.class, ServletRegistration.class, OncePerRequestFilter.class, HandlerMapping.class }) @AutoConfigureAfter(MetricRepositoryAutoConfiguration.class) -@ConditionalOnProperty(name = "endpoints.metrics.filter.enabled", matchIfMissing = true) +@ConditionalOnProperty(name = "endpoints.metrics.enabled", matchIfMissing = true) public class MetricFilterAutoConfiguration { @Autowired diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfigurationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfigurationTests.java index 46ec1cb48c8..91c3b7e72d4 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfigurationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfigurationTests.java @@ -31,6 +31,7 @@ import org.mockito.stubbing.Answer; import org.springframework.boot.actuate.metrics.CounterService; import org.springframework.boot.actuate.metrics.GaugeService; +import org.springframework.boot.test.EnvironmentTestUtils; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -77,6 +78,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. * * @author Phillip Webb * @author Andy Wilkinson + * @@author Stephane Nicoll */ public class MetricFilterAutoConfigurationTests { @@ -175,6 +177,16 @@ public class MetricFilterAutoConfigurationTests { context.close(); } + @Test + public void skipsFilterIfPropertyDisabled() throws Exception { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + EnvironmentTestUtils.addEnvironment(context, "endpoints.metrics.enabled:false"); + context.register(Config.class, MetricFilterAutoConfiguration.class); + context.refresh(); + assertThat(context.getBeansOfType(Filter.class).size(), equalTo(0)); + context.close(); + } + @Test public void controllerMethodThatThrowsUnhandledException() throws Exception { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(