Skip to content

Commit 6046a6c

Browse files
committed
Move Actuator infrastructure for WebMvc to spring-boot-webmvc
1 parent 2ef62a9 commit 6046a6c

File tree

51 files changed

+385
-296
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+385
-296
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryWebEndpointServletHandlerMapping.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint;
4444
import org.springframework.boot.actuate.endpoint.web.Link;
4545
import org.springframework.boot.actuate.endpoint.web.WebOperation;
46-
import org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping;
46+
import org.springframework.boot.webmvc.actuate.endpoint.web.AbstractWebMvcEndpointHandlerMapping;
4747
import org.springframework.context.annotation.ImportRuntimeHints;
4848
import org.springframework.http.HttpStatus;
4949
import org.springframework.http.ResponseEntity;

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java

Lines changed: 0 additions & 185 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
org.springframework.boot.actuate.autoconfigure.endpoint.web.reactive.WebFluxEndpointManagementContextConfiguration
2-
org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration
32
org.springframework.boot.actuate.autoconfigure.security.servlet.SecurityRequestMatchersManagementContextConfiguration
43
org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementChildContextConfiguration
5-
org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementChildContextConfiguration
6-
org.springframework.boot.actuate.autoconfigure.web.servlet.WebMvcEndpointChildContextConfiguration

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,3 @@ org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinTracingAutoC
3636
org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesAutoConfiguration
3737
org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesEndpointAutoConfiguration
3838
org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration
39-
org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointCorsIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@
2222
import org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration;
2323
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
2424
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration;
25-
import org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration;
2625
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration;
2726
import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration;
2827
import org.springframework.boot.autoconfigure.AutoConfigurations;
2928
import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration;
3029
import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration;
3130
import org.springframework.boot.test.context.runner.ContextConsumer;
3231
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
32+
import org.springframework.boot.webmvc.actuate.autoconfigure.endpoint.web.WebMvcEndpointManagementContextConfiguration;
3333
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletAutoConfiguration;
3434
import org.springframework.boot.webmvc.autoconfigure.WebMvcAutoConfiguration;
3535
import org.springframework.http.HttpHeaders;

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration;
2929
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration;
3030
import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration;
31-
import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping;
3231
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
3332
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
3433
import org.springframework.boot.data.rest.autoconfigure.RepositoryRestMvcAutoConfiguration;
@@ -38,6 +37,7 @@
3837
import org.springframework.boot.security.autoconfigure.servlet.SecurityAutoConfiguration;
3938
import org.springframework.boot.test.util.TestPropertyValues;
4039
import org.springframework.boot.web.context.servlet.AnnotationConfigServletWebApplicationContext;
40+
import org.springframework.boot.webmvc.actuate.endpoint.web.WebMvcEndpointHandlerMapping;
4141
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletAutoConfiguration;
4242
import org.springframework.boot.webmvc.autoconfigure.WebMvcAutoConfiguration;
4343
import org.springframework.context.annotation.Bean;

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcHealthEndpointAdditionalPathIntegrationTests.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.springframework.boot.tomcat.autoconfigure.servlet.TomcatServletWebServerAutoConfiguration;
3232
import org.springframework.boot.web.server.context.ServerPortInfoApplicationContextInitializer;
3333
import org.springframework.boot.web.server.servlet.context.AnnotationConfigServletWebServerApplicationContext;
34+
import org.springframework.boot.webmvc.actuate.autoconfigure.health.WebMvcHealthEndpointExtensionAutoConfiguration;
3435
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletAutoConfiguration;
3536
import org.springframework.boot.webmvc.autoconfigure.WebMvcAutoConfiguration;
3637
import org.springframework.web.context.ConfigurableWebApplicationContext;
@@ -51,7 +52,8 @@ class WebMvcHealthEndpointAdditionalPathIntegrationTests extends
5152
TomcatServletManagementContextAutoConfiguration.class, WebMvcAutoConfiguration.class,
5253
ServletManagementContextAutoConfiguration.class, WebEndpointAutoConfiguration.class,
5354
EndpointAutoConfiguration.class, DispatcherServletAutoConfiguration.class,
54-
HealthEndpointAutoConfiguration.class, DiskSpaceHealthContributorAutoConfiguration.class))
55+
HealthEndpointAutoConfiguration.class, WebMvcHealthEndpointExtensionAutoConfiguration.class,
56+
DiskSpaceHealthContributorAutoConfiguration.class))
5557
.withInitializer(new ServerPortInfoApplicationContextInitializer())
5658
.withPropertyValues("server.port=0"));
5759
}

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/MvcEndpointRequestIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,14 +122,14 @@ void toAnyEndpointWhenServletPathSetShouldMatchServletEndpoint() {
122122
@Override
123123
protected WebApplicationContextRunner createContextRunner() {
124124
return new WebApplicationContextRunner(AnnotationConfigServletWebServerApplicationContext::new)
125-
.withUserConfiguration(WebMvcEndpointConfiguration.class)
125+
.withUserConfiguration(InfrastructureTestConfiguration.class)
126126
.withConfiguration(AutoConfigurations.of(DispatcherServletAutoConfiguration.class,
127127
HttpMessageConvertersAutoConfiguration.class, WebMvcAutoConfiguration.class));
128128
}
129129

130130
@Configuration(proxyBeanMethods = false)
131131
@EnableConfigurationProperties(WebEndpointProperties.class)
132-
static class WebMvcEndpointConfiguration {
132+
static class InfrastructureTestConfiguration {
133133

134134
@Bean
135135
TomcatServletWebServerFactory tomcat() {

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfigurationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020

2121
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
2222
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration;
23-
import org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration;
2423
import org.springframework.boot.actuate.web.mappings.MappingDescriptionProvider;
2524
import org.springframework.boot.actuate.web.mappings.MappingsEndpoint;
2625
import org.springframework.boot.autoconfigure.AutoConfigurations;
2726
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
2827
import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration;
2928
import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration;
3029
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
30+
import org.springframework.boot.webmvc.actuate.autoconfigure.endpoint.web.WebMvcEndpointManagementContextConfiguration;
3131
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletAutoConfiguration;
3232
import org.springframework.boot.webmvc.autoconfigure.WebMvcAutoConfiguration;
3333

spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,10 @@ dependencies {
1818
optional("io.micrometer:micrometer-core")
1919
optional("io.projectreactor:reactor-core")
2020
optional("jakarta.servlet:jakarta.servlet-api")
21-
optional("org.springframework:spring-webmvc")
2221
optional("org.springframework.security:spring-security-config")
2322

2423
testImplementation(project(":spring-boot-project:spring-boot-test"))
2524
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
26-
testImplementation("org.springframework:spring-web")
2725
testImplementation("org.springframework:spring-webflux")
2826

2927
testRuntimeOnly("ch.qos.logback:logback-classic")

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointWebExtensionConfiguration.java

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,8 @@
1616

1717
package org.springframework.boot.actuate.autoconfigure.health;
1818

19-
import java.util.Collection;
20-
2119
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
2220
import org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointExposure;
23-
import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint;
24-
import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier;
25-
import org.springframework.boot.actuate.endpoint.web.WebServerNamespace;
26-
import org.springframework.boot.actuate.endpoint.web.servlet.AdditionalHealthEndpointPathsWebMvcHandlerMapping;
2721
import org.springframework.boot.actuate.health.HealthContributorRegistry;
2822
import org.springframework.boot.actuate.health.HealthEndpoint;
2923
import org.springframework.boot.actuate.health.HealthEndpointGroups;
@@ -34,7 +28,6 @@
3428
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
3529
import org.springframework.context.annotation.Bean;
3630
import org.springframework.context.annotation.Configuration;
37-
import org.springframework.web.servlet.DispatcherServlet;
3831

3932
/**
4033
* Configuration for {@link HealthEndpoint} web extensions.
@@ -57,25 +50,4 @@ HealthEndpointWebExtension healthEndpointWebExtension(HealthContributorRegistry
5750
properties.getLogging().getSlowIndicatorThreshold());
5851
}
5952

60-
private static ExposableWebEndpoint getHealthEndpoint(WebEndpointsSupplier webEndpointsSupplier) {
61-
Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints();
62-
return webEndpoints.stream()
63-
.filter((endpoint) -> endpoint.getEndpointId().equals(HealthEndpoint.ID))
64-
.findFirst()
65-
.orElse(null);
66-
}
67-
68-
@ConditionalOnBean(DispatcherServlet.class)
69-
static class MvcAdditionalHealthEndpointPathsConfiguration {
70-
71-
@Bean
72-
AdditionalHealthEndpointPathsWebMvcHandlerMapping healthEndpointWebMvcHandlerMapping(
73-
WebEndpointsSupplier webEndpointsSupplier, HealthEndpointGroups groups) {
74-
ExposableWebEndpoint health = getHealthEndpoint(webEndpointsSupplier);
75-
return new AdditionalHealthEndpointPathsWebMvcHandlerMapping(health,
76-
groups.getAllWithAdditionalPath(WebServerNamespace.SERVER));
77-
}
78-
79-
}
80-
8153
}

0 commit comments

Comments
 (0)