From 3e46b5c5c7c7a586bb176e01eee656a9f00180a4 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 17 Nov 2017 14:09:20 +0000 Subject: [PATCH] Auto-configure endpoints in main context so they are always discovered Closes gh-11046 --- ...java => LogFileWebEndpointAutoConfiguration.java} | 12 ++++++------ ...ava => HeapDumpWebEndpointAutoConfiguration.java} | 9 +++++---- .../src/main/resources/META-INF/spring.factories | 4 ++-- ...=> LogFileWebEndpointAutoConfigurationTests.java} | 6 +++--- ...> HeapDumpWebEndpointAutoConfigurationTests.java} | 6 +++--- 5 files changed, 19 insertions(+), 18 deletions(-) rename spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/{LogFileWebEndpointManagementContextConfiguration.java => LogFileWebEndpointAutoConfiguration.java} (88%) rename spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/{HeapDumpWebEndpointManagementContextConfiguration.java => HeapDumpWebEndpointAutoConfiguration.java} (80%) rename spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/{LogFileWebEndpointManagementContextConfigurationTests.java => LogFileWebEndpointAutoConfigurationTests.java} (94%) rename spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/management/{HeapDumpWebEndpointManagementContextConfigurationTests.java => HeapDumpWebEndpointAutoConfigurationTests.java} (88%) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointManagementContextConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java similarity index 88% rename from spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointManagementContextConfiguration.java rename to spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java index ba520a499e..51c82fda5e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointManagementContextConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java @@ -16,8 +16,8 @@ package org.springframework.boot.actuate.autoconfigure.logging; -import org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration; import org.springframework.boot.actuate.logging.LogFileWebEndpoint; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; import org.springframework.boot.autoconfigure.condition.ConditionOutcome; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -26,24 +26,24 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.util.StringUtils; /** - * {@link ManagementContextConfiguration} for {@link LogFileWebEndpoint}. + * {@link EnableAutoConfiguration Auto-configuration} for {@link LogFileWebEndpoint}. * * @author Andy Wilkinson * @since 2.0.0 */ -@ManagementContextConfiguration +@Configuration @EnableConfigurationProperties(LogFileWebEndpointProperties.class) -public class LogFileWebEndpointManagementContextConfiguration { +public class LogFileWebEndpointAutoConfiguration { private final LogFileWebEndpointProperties properties; - public LogFileWebEndpointManagementContextConfiguration( - LogFileWebEndpointProperties properties) { + public LogFileWebEndpointAutoConfiguration(LogFileWebEndpointProperties properties) { this.properties = properties; } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointManagementContextConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java similarity index 80% rename from spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointManagementContextConfiguration.java rename to spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java index a5f8988ba3..3e48cae1a4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointManagementContextConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java @@ -17,19 +17,20 @@ package org.springframework.boot.actuate.autoconfigure.management; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; -import org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration; import org.springframework.boot.actuate.management.HeapDumpWebEndpoint; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; /** - * {@link ManagementContextConfiguration} for {@link HeapDumpWebEndpoint}. + * {@link EnableAutoConfiguration Auto-configuration} for {@link HeapDumpWebEndpoint}. * * @author Andy Wilkinson * @since 2.0.0 */ -@ManagementContextConfiguration -public class HeapDumpWebEndpointManagementContextConfiguration { +@Configuration +public class HeapDumpWebEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories index 98ec8c726f..6b24efad9b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories @@ -24,8 +24,10 @@ org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthIndicatorAut org.springframework.boot.actuate.autoconfigure.jms.JmsHealthIndicatorAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.ldap.LdapHealthIndicatorAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.liquibase.LiquibaseEndpointAutoConfiguration,\ +org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.mail.MailHealthIndicatorAutoConfiguration,\ +org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.mongo.MongoHealthIndicatorAutoConfiguration,\ @@ -49,8 +51,6 @@ org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpoi org.springframework.boot.actuate.autoconfigure.endpoint.web.jersey.JerseyWebEndpointManagementContextConfiguration,\ org.springframework.boot.actuate.autoconfigure.health.HealthWebEndpointManagementContextConfiguration,\ org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaManagementContextConfiguration,\ -org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointManagementContextConfiguration,\ -org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointManagementContextConfiguration,\ org.springframework.boot.actuate.autoconfigure.web.jersey.JerseyManagementChildContextConfiguration,\ org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementChildContextConfiguration,\ org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementChildContextConfiguration,\ diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointManagementContextConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfigurationTests.java similarity index 94% rename from spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointManagementContextConfigurationTests.java rename to spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfigurationTests.java index 1232be5a72..42e64a1cb1 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointManagementContextConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfigurationTests.java @@ -33,20 +33,20 @@ import org.springframework.util.StreamUtils; import static org.assertj.core.api.Assertions.assertThat; /** - * Tests for {@link LogFileWebEndpointManagementContextConfiguration}. + * Tests for {@link LogFileWebEndpointAutoConfiguration}. * * @author Andy Wilkinson * @author Stephane Nicoll * @author Phillip Webb */ -public class LogFileWebEndpointManagementContextConfigurationTests { +public class LogFileWebEndpointAutoConfigurationTests { @Rule public TemporaryFolder temp = new TemporaryFolder(); private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() .withUserConfiguration( - LogFileWebEndpointManagementContextConfiguration.class); + LogFileWebEndpointAutoConfiguration.class); @Test public void logFileWebEndpointIsAutoConfiguredWhenLoggingFileIsSet() { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointManagementContextConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfigurationTests.java similarity index 88% rename from spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointManagementContextConfigurationTests.java rename to spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfigurationTests.java index d0414e9f0e..7c452012fb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointManagementContextConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfigurationTests.java @@ -24,16 +24,16 @@ import org.springframework.boot.test.context.runner.WebApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; /** - * Tests for {@link HeapDumpWebEndpointManagementContextConfiguration}. + * Tests for {@link HeapDumpWebEndpointAutoConfiguration}. * * @author Phillip Webb */ -public class HeapDumpWebEndpointManagementContextConfigurationTests { +public class HeapDumpWebEndpointAutoConfigurationTests { private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() .withPropertyValues("management.endpoints.web.expose:*") .withUserConfiguration( - HeapDumpWebEndpointManagementContextConfiguration.class); + HeapDumpWebEndpointAutoConfiguration.class); @Test public void runShouldCreateIndicator() throws Exception {