diff --git a/documentation/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/health/HealthEndpointDocumentationTests.java b/documentation/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/health/HealthEndpointDocumentationTests.java index 07a739b23f9..ddf01dbc92b 100644 --- a/documentation/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/health/HealthEndpointDocumentationTests.java +++ b/documentation/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/health/HealthEndpointDocumentationTests.java @@ -28,16 +28,16 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.docs.MockMvcEndpointDocumentationTests; import org.springframework.boot.actuate.endpoint.SecurityContext; -import org.springframework.boot.actuate.health.AdditionalHealthEndpointPath; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointGroup; -import org.springframework.boot.actuate.health.HealthEndpointGroups; -import org.springframework.boot.actuate.health.HttpCodeStatusMapper; -import org.springframework.boot.actuate.health.SimpleHttpCodeStatusMapper; -import org.springframework.boot.actuate.health.SimpleStatusAggregator; -import org.springframework.boot.actuate.health.StatusAggregator; -import org.springframework.boot.actuate.system.DiskSpaceHealthIndicator; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; +import org.springframework.boot.health.actuate.endpoint.AdditionalHealthEndpointPath; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroup; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; +import org.springframework.boot.health.actuate.endpoint.HttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.SimpleHttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.SimpleStatusAggregator; +import org.springframework.boot.health.actuate.endpoint.StatusAggregator; +import org.springframework.boot.health.application.DiskSpaceHealthIndicator; import org.springframework.boot.health.autoconfigure.registry.HealthContributorNameGenerator; import org.springframework.boot.health.contributor.CompositeHealthContributor; import org.springframework.boot.health.contributor.Health; diff --git a/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/actuator/endpoints.adoc b/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/actuator/endpoints.adoc index 6fcbe7cfc57..46aadc50ba4 100644 --- a/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/actuator/endpoints.adoc +++ b/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/actuator/endpoints.adoc @@ -618,7 +618,7 @@ with the `key` listed in the following table: | Checks that a connection to javadoc:javax.sql.DataSource[] can be obtained. | `diskspace` -| javadoc:org.springframework.boot.actuate.system.DiskSpaceHealthIndicator[] +| javadoc:org.springframework.boot.health.info.DiskSpaceHealthIndicator[] | Checks for low disk space. | `elasticsearch` @@ -662,7 +662,7 @@ with the `key` listed in the following table: | Checks that a Redis server is up. | `ssl` -| javadoc:org.springframework.boot.actuate.ssl.SslHealthIndicator[] +| javadoc:org.springframework.boot.health.info.SslHealthIndicator[] | Checks that SSL certificates are ok. |=== @@ -679,11 +679,11 @@ Additional javadoc:org.springframework.boot.actuate.health.HealthIndicator[] bea | Key | Name | Description | `livenessstate` -| javadoc:org.springframework.boot.actuate.availability.LivenessStateHealthIndicator[] +| javadoc:org.springframework.boot.health.application.LivenessStateHealthIndicator[] | Exposes the "`Liveness`" application availability state. | `readinessstate` -| javadoc:org.springframework.boot.actuate.availability.ReadinessStateHealthIndicator[] +| javadoc:org.springframework.boot.health.application.ReadinessStateHealthIndicator[] | Exposes the "`Readiness`" application availability state. |=== @@ -928,7 +928,7 @@ Applications deployed on Kubernetes can provide information about their internal Depending on https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/[your Kubernetes configuration], the kubelet calls those probes and reacts to the result. By default, Spring Boot manages your xref:features/spring-application.adoc#features.spring-application.application-availability[Application Availability] state. -If deployed in a Kubernetes environment, actuator gathers the "`Liveness`" and "`Readiness`" information from the javadoc:org.springframework.boot.availability.ApplicationAvailability[] interface and uses that information in dedicated xref:actuator/endpoints.adoc#actuator.endpoints.health.auto-configured-health-indicators[health indicators]: javadoc:org.springframework.boot.actuate.availability.LivenessStateHealthIndicator[] and javadoc:org.springframework.boot.actuate.availability.ReadinessStateHealthIndicator[]. +If deployed in a Kubernetes environment, actuator gathers the "`Liveness`" and "`Readiness`" information from the javadoc:org.springframework.boot.availability.ApplicationAvailability[] interface and uses that information in dedicated xref:actuator/endpoints.adoc#actuator.endpoints.health.auto-configured-health-indicators[health indicators]: javadoc:org.springframework.boot.health.application.LivenessStateHealthIndicator[] and javadoc:org.springframework.boot.health.application.ReadinessStateHealthIndicator[]. These indicators are shown on the global health endpoint (`"/actuator/health"`). They are also exposed as separate HTTP Probes by using xref:actuator/endpoints.adoc#actuator.endpoints.health.groups[health groups]: `"/actuator/health/liveness"` and `"/actuator/health/readiness"`. @@ -1255,7 +1255,7 @@ The `info` endpoint publishes information about your process, see javadoc:org.sp [[actuator.endpoints.info.ssl-information]] === SSL Information -The `info` endpoint publishes information about your SSL certificates (that are configured through xref:features/ssl.adoc#features.ssl.bundles[SSL Bundles]), see javadoc:org.springframework.boot.info.SslInfo[] for more details. This endpoint reuses the "warning threshold" property of javadoc:org.springframework.boot.actuate.ssl.SslHealthIndicator[]: if an SSL certificate will be invalid within the time span defined by this threshold, it will trigger a warning. See the `management.health.ssl.certificate-validity-warning-threshold` property. +The `info` endpoint publishes information about your SSL certificates (that are configured through xref:features/ssl.adoc#features.ssl.bundles[SSL Bundles]), see javadoc:org.springframework.boot.info.SslInfo[] for more details. This endpoint reuses the "warning threshold" property of javadoc:org.springframework.boot.health.info.SslHealthIndicator[]: if an SSL certificate will be invalid within the time span defined by this threshold, it will trigger a warning. See the `management.health.ssl.certificate-validity-warning-threshold` property. diff --git a/documentation/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.java b/documentation/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.java index 57cc3e2f3c0..dbe1bd6d7c6 100644 --- a/documentation/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.java +++ b/documentation/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.java @@ -19,7 +19,7 @@ package org.springframework.boot.docs.howto.actuator.maphealthindicatorstometric import io.micrometer.core.instrument.Gauge; import io.micrometer.core.instrument.MeterRegistry; -import org.springframework.boot.actuate.health.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; import org.springframework.boot.health.contributor.Status; import org.springframework.context.annotation.Configuration; diff --git a/documentation/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.kt b/documentation/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.kt index 3c79f539459..93c6d696c4f 100644 --- a/documentation/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.kt +++ b/documentation/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.kt @@ -18,7 +18,7 @@ package org.springframework.boot.docs.howto.actuator.maphealthindicatorstometric import io.micrometer.core.instrument.Gauge import io.micrometer.core.instrument.MeterRegistry -import org.springframework.boot.actuate.health.HealthEndpoint +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint import org.springframework.boot.health.contributor.Status import org.springframework.context.annotation.Configuration diff --git a/documentation/spring-boot-docs/src/test/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExportTests.java b/documentation/spring-boot-docs/src/test/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExportTests.java index da2ad4c66a9..8dc830d6ec0 100644 --- a/documentation/spring-boot-docs/src/test/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExportTests.java +++ b/documentation/spring-boot-docs/src/test/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExportTests.java @@ -22,8 +22,8 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.health.contributor.Health; diff --git a/integration-test/spring-boot-actuator-integration-tests/build.gradle b/integration-test/spring-boot-actuator-integration-tests/build.gradle index 67b21439af0..44524ba74ef 100644 --- a/integration-test/spring-boot-actuator-integration-tests/build.gradle +++ b/integration-test/spring-boot-actuator-integration-tests/build.gradle @@ -24,6 +24,7 @@ description = "Spring Boot Actuator Integration Tests" dependencies { testImplementation(project(":module:spring-boot-actuator")) + testImplementation(project(":module:spring-boot-actuator-autoconfigure")) testImplementation(project(":core:spring-boot-autoconfigure")) testImplementation(project(":module:spring-boot-health")) testImplementation(project(":module:spring-boot-http-converter")) diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAccessIntegrationTests.java b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAccessIntegrationTests.java similarity index 100% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAccessIntegrationTests.java rename to integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAccessIntegrationTests.java diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointIntegrationTests.java b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointIntegrationTests.java similarity index 98% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointIntegrationTests.java rename to integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointIntegrationTests.java index 7ac74867d91..35d29ddf34a 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointIntegrationTests.java +++ b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointIntegrationTests.java @@ -31,10 +31,10 @@ import org.springframework.boot.actuate.audit.InMemoryAuditEventRepository; import org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.web.exchanges.InMemoryHttpExchangeRepository; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointsAutoConfigurationIntegrationTests.java b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointsAutoConfigurationIntegrationTests.java similarity index 93% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointsAutoConfigurationIntegrationTests.java rename to integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointsAutoConfigurationIntegrationTests.java index aba4576745e..08c5caf2e70 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointsAutoConfigurationIntegrationTests.java +++ b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointsAutoConfigurationIntegrationTests.java @@ -19,10 +19,10 @@ package org.springframework.boot.actuate.autoconfigure.endpoint.web; import org.junit.jupiter.api.Test; import org.springframework.boot.SpringBootConfiguration; -import org.springframework.boot.actuate.health.HealthEndpointWebExtension; -import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.annotation.UserConfigurations; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointWebExtension; +import org.springframework.boot.health.actuate.endpoint.ReactiveHealthEndpointWebExtension; import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; diff --git a/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebIntegrationTests.java b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebIntegrationTests.java index c221d3ed112..f7bd4e76e0e 100644 --- a/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebIntegrationTests.java +++ b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebIntegrationTests.java @@ -27,6 +27,10 @@ import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.web.test.WebEndpointTest; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointWebExtension; +import org.springframework.boot.health.actuate.endpoint.ReactiveHealthEndpointWebExtension; import org.springframework.boot.health.autoconfigure.registry.HealthContributorNameGenerator; import org.springframework.boot.health.contributor.CompositeHealthContributor; import org.springframework.boot.health.contributor.CompositeReactiveHealthContributor; diff --git a/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/TestHealthEndpointGroup.java b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/TestHealthEndpointGroup.java index ab6fb421eee..d020daffcd5 100644 --- a/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/TestHealthEndpointGroup.java +++ b/integration-test/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/TestHealthEndpointGroup.java @@ -19,6 +19,13 @@ package org.springframework.boot.actuate.health; import java.util.function.Predicate; import org.springframework.boot.actuate.endpoint.SecurityContext; +import org.springframework.boot.health.actuate.endpoint.AdditionalHealthEndpointPath; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroup; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; +import org.springframework.boot.health.actuate.endpoint.HttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.SimpleHttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.SimpleStatusAggregator; +import org.springframework.boot.health.actuate.endpoint.StatusAggregator; /** * Test implementation of {@link HealthEndpointGroups}. diff --git a/module/spring-boot-actuator-autoconfigure/build.gradle b/module/spring-boot-actuator-autoconfigure/build.gradle index 004565453ca..10dcc584158 100644 --- a/module/spring-boot-actuator-autoconfigure/build.gradle +++ b/module/spring-boot-actuator-autoconfigure/build.gradle @@ -31,7 +31,6 @@ dependencies { implementation("tools.jackson.core:jackson-databind") - optional(project(":module:spring-boot-health")) optional(project(":module:spring-boot-web-server")) optional("io.micrometer:micrometer-core") optional("io.projectreactor:reactor-core") diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/package-info.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/package-info.java deleted file mode 100644 index 01cf92d65dc..00000000000 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/package-info.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2012-present 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. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Auto-configuration that extends health endpoints so that they can be used as - * availability probes. - */ -@NullMarked -package org.springframework.boot.actuate.autoconfigure.availability; - -import org.jspecify.annotations.NullMarked; diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/package-info.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/package-info.java deleted file mode 100644 index ec6f51c89c5..00000000000 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/package-info.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2012-present 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. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Auto-configuration for actuator health concerns. - */ -@NullMarked -package org.springframework.boot.actuate.autoconfigure.health; - -import org.jspecify.annotations.NullMarked; diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/package-info.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/package-info.java deleted file mode 100644 index bd586ca7766..00000000000 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/package-info.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2012-present 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. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Auto-configuration for actuator system concerns. - */ -@NullMarked -package org.springframework.boot.actuate.autoconfigure.system; - -import org.jspecify.annotations.NullMarked; diff --git a/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 7db8b91ccae..fc1f2d123f8 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -24,33 +24,6 @@ "description": "Whether to skip SSL verification for Cloud Foundry actuator endpoint security calls.", "defaultValue": false }, - { - "name": "management.endpoint.health.probes.add-additional-paths", - "type": "java.lang.Boolean", - "description": "Whether to make the liveness and readiness health groups available on the main server port.", - "defaultValue": false - }, - { - "name": "management.endpoint.health.probes.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable liveness and readiness probes.", - "defaultValue": true - }, - { - "name": "management.endpoint.health.status.order", - "defaultValue": [ - "DOWN", - "OUT_OF_SERVICE", - "UP", - "UNKNOWN" - ] - }, - { - "name": "management.endpoint.health.validate-group-membership", - "type": "java.lang.Boolean", - "description": "Whether to validate health group membership on startup. Validation fails if a group includes or excludes a health contributor that does not exist.", - "defaultValue": true - }, { "name": "management.endpoints.access.default", "type": "org.springframework.boot.actuate.endpoint.Access", @@ -99,60 +72,6 @@ "health" ] }, - { - "name": "management.health.defaults.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable default health indicators.", - "defaultValue": true - }, - { - "name": "management.health.diskspace.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable disk space health check.", - "defaultValue": true - }, - { - "name": "management.health.influxdb.enabled", - "type": "java.lang.Boolean", - "deprecation": { - "level": "error", - "reason": "InfluxDB support has been removed." - } - }, - { - "name": "management.health.livenessstate.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable liveness state health check.", - "defaultValue": false - }, - { - "name": "management.health.ping.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable ping health check.", - "defaultValue": true - }, - { - "name": "management.health.probes.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable liveness and readiness probes.", - "defaultValue": false, - "deprecation": { - "level": "error", - "replacement": "management.endpoint.health.probes.enabled" - } - }, - { - "name": "management.health.readinessstate.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable readiness state health check.", - "defaultValue": false - }, - { - "name": "management.health.ssl.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable SSL certificate health check.", - "defaultValue": true - }, { "name": "management.httpexchanges.recording.enabled", "type": "java.lang.Boolean", @@ -482,28 +401,6 @@ "name": "any" } ] - }, - { - "name": "management.health.status.order", - "values": [ - { - "value": "UNKNOWN" - }, - { - "value": "UP" - }, - { - "value": "DOWN" - }, - { - "value": "OUT_OF_SERVICE" - } - ], - "providers": [ - { - "name": "any" - } - ] } ] } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories b/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 6c182b95249..00000000000 --- a/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,3 +0,0 @@ -# Failure Analyzers -org.springframework.boot.diagnostics.FailureAnalyzer=\ -org.springframework.boot.actuate.autoconfigure.health.NoSuchHealthContributorFailureAnalyzer diff --git a/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index ac80acd90ec..d24d586326c 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,7 +1,5 @@ org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration org.springframework.boot.actuate.autoconfigure.audit.AuditEventsEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration -org.springframework.boot.actuate.autoconfigure.availability.AvailabilityProbesAutoConfiguration org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration @@ -11,7 +9,6 @@ org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointA org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration @@ -20,9 +17,7 @@ org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAut org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.sbom.SbomEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.ssl.SslHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.startup.StartupEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration diff --git a/module/spring-boot-actuator/build.gradle b/module/spring-boot-actuator/build.gradle index 708a1bd4335..5215faae544 100644 --- a/module/spring-boot-actuator/build.gradle +++ b/module/spring-boot-actuator/build.gradle @@ -27,7 +27,6 @@ description = "Spring Boot Actuator" dependencies { api(project(":core:spring-boot")) - optional(project(":module:spring-boot-health")) optional("com.github.ben-manes.caffeine:caffeine") optional("com.google.code.findbugs:jsr305") optional("com.zaxxer:HikariCP") diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/system/package-info.java b/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/system/package-info.java deleted file mode 100644 index bb19e72702f..00000000000 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/system/package-info.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2012-present 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. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Actuator support for system-related concerns. - */ -@NullMarked -package org.springframework.boot.actuate.system; - -import org.jspecify.annotations.NullMarked; diff --git a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/CloudFoundryWebEndpointDiscoverer.java b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/CloudFoundryWebEndpointDiscoverer.java index fc2b4dc5530..0c4ed68a6dd 100644 --- a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/CloudFoundryWebEndpointDiscoverer.java +++ b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/CloudFoundryWebEndpointDiscoverer.java @@ -34,8 +34,8 @@ import org.springframework.boot.actuate.endpoint.web.PathMapper; import org.springframework.boot.actuate.endpoint.web.WebOperation; import org.springframework.boot.actuate.endpoint.web.annotation.EndpointWebExtension; import org.springframework.boot.actuate.endpoint.web.annotation.WebEndpointDiscoverer; -import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.cloudfoundry.autoconfigure.actuate.endpoint.CloudFoundryWebEndpointDiscoverer.CloudFoundryWebEndpointDiscovererRuntimeHints; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.ImportRuntimeHints; import org.springframework.core.annotation.MergedAnnotations; diff --git a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfiguration.java b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfiguration.java index e1cad3ccc21..189b65c6541 100644 --- a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfiguration.java +++ b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfiguration.java @@ -29,7 +29,6 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.ExposableEndpoint; import org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper; @@ -37,8 +36,6 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMapping; import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension; import org.springframework.boot.actuate.info.GitInfoContributor; import org.springframework.boot.actuate.info.InfoContributor; import org.springframework.boot.actuate.info.InfoEndpoint; @@ -55,6 +52,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat import org.springframework.boot.cloud.CloudPlatform; import org.springframework.boot.cloudfoundry.autoconfigure.actuate.endpoint.CloudFoundryWebEndpointDiscoverer; import org.springframework.boot.cloudfoundry.autoconfigure.actuate.endpoint.servlet.CloudFoundryInfoEndpointWebExtension; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.ReactiveHealthEndpointWebExtension; import org.springframework.boot.info.GitProperties; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; @@ -78,7 +77,8 @@ import org.springframework.web.server.WebFilter; * @author Madhura Bhave * @since 4.0.0 */ -@AutoConfiguration(after = { HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class }) +@AutoConfiguration(after = InfoEndpointAutoConfiguration.class, + afterName = "org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration") @ConditionalOnBooleanProperty(name = "management.cloudfoundry.enabled", matchIfMissing = true) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnCloudPlatform(CloudPlatform.CLOUD_FOUNDRY) diff --git a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtension.java b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtension.java index 5d4bddf4aae..91984b29674 100644 --- a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtension.java +++ b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtension.java @@ -25,10 +25,10 @@ import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; import org.springframework.boot.actuate.endpoint.annotation.Selector; import org.springframework.boot.actuate.endpoint.annotation.Selector.Match; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; -import org.springframework.boot.actuate.health.HealthDescriptor; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension; import org.springframework.boot.cloudfoundry.autoconfigure.actuate.endpoint.EndpointCloudFoundryExtension; +import org.springframework.boot.health.actuate.endpoint.HealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.ReactiveHealthEndpointWebExtension; /** * Reactive {@link EndpointExtension @EndpointExtension} for the {@link HealthEndpoint} diff --git a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryActuatorAutoConfiguration.java b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryActuatorAutoConfiguration.java index f411db7ead6..91661a5872b 100644 --- a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryActuatorAutoConfiguration.java +++ b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryActuatorAutoConfiguration.java @@ -26,7 +26,6 @@ import org.jspecify.annotations.Nullable; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.ExposableEndpoint; import org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper; @@ -34,8 +33,6 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMapping; import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointWebExtension; import org.springframework.boot.actuate.info.GitInfoContributor; import org.springframework.boot.actuate.info.InfoContributor; import org.springframework.boot.actuate.info.InfoEndpoint; @@ -51,6 +48,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.cloud.CloudPlatform; import org.springframework.boot.cloudfoundry.autoconfigure.actuate.endpoint.CloudFoundryWebEndpointDiscoverer; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointWebExtension; import org.springframework.boot.info.GitProperties; import org.springframework.boot.restclient.RestTemplateBuilder; import org.springframework.context.ApplicationContext; @@ -78,8 +77,9 @@ import org.springframework.web.servlet.DispatcherServlet; * @author Madhura Bhave * @since 4.0.0 */ -@AutoConfiguration(after = { HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class }, - afterName = "org.springframework.boot.servlet.autoconfigure.actuate.web.ServletManagementContextAutoConfiguration") +@AutoConfiguration(after = InfoEndpointAutoConfiguration.class, afterName = { + "org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration", + "org.springframework.boot.servlet.autoconfigure.actuate.web.ServletManagementContextAutoConfiguration" }) @ConditionalOnBooleanProperty(name = "management.cloudfoundry.enabled", matchIfMissing = true) @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass(DispatcherServlet.class) diff --git a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryHealthEndpointWebExtension.java b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryHealthEndpointWebExtension.java index 93bac2409d4..72957e92c04 100644 --- a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryHealthEndpointWebExtension.java +++ b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryHealthEndpointWebExtension.java @@ -23,10 +23,10 @@ import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; import org.springframework.boot.actuate.endpoint.annotation.Selector; import org.springframework.boot.actuate.endpoint.annotation.Selector.Match; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; -import org.springframework.boot.actuate.health.HealthDescriptor; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointWebExtension; import org.springframework.boot.cloudfoundry.autoconfigure.actuate.endpoint.EndpointCloudFoundryExtension; +import org.springframework.boot.health.actuate.endpoint.HealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointWebExtension; /** * {@link EndpointExtension @EndpointExtension} for the {@link HealthEndpoint} that always diff --git a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/CloudFoundryWebEndpointDiscovererTests.java b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/CloudFoundryWebEndpointDiscovererTests.java index 91755b6f44c..9a4744f9e70 100644 --- a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/CloudFoundryWebEndpointDiscovererTests.java +++ b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/CloudFoundryWebEndpointDiscovererTests.java @@ -39,9 +39,9 @@ import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMapper; import org.springframework.boot.actuate.endpoint.web.WebOperation; import org.springframework.boot.actuate.endpoint.web.annotation.EndpointWebExtension; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointGroups; import org.springframework.boot.cloudfoundry.autoconfigure.actuate.endpoint.CloudFoundryWebEndpointDiscoverer.CloudFoundryWebEndpointDiscovererRuntimeHints; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; import org.springframework.boot.health.registry.HealthContributorRegistry; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; diff --git a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfigurationTests.java b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfigurationTests.java index 7aa340ed17e..5da9f109e55 100644 --- a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfigurationTests.java +++ b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfigurationTests.java @@ -35,7 +35,6 @@ import reactor.netty.http.HttpResources; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; @@ -50,6 +49,7 @@ import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration; import org.springframework.boot.cloudfoundry.autoconfigure.actuate.endpoint.servlet.CloudFoundryInfoEndpointWebExtension; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; @@ -260,7 +260,10 @@ class CloudFoundryReactiveActuatorAutoConfigurationTests { "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { Collection endpoints = getHandlerMapping(context).getEndpoints(); - ExposableWebEndpoint endpoint = endpoints.iterator().next(); + ExposableWebEndpoint endpoint = endpoints.stream() + .filter((candidate) -> candidate.getEndpointId().toLowerCaseString().equals("health")) + .findFirst() + .get(); assertThat(endpoint.getOperations()).hasSize(2); WebOperation webOperation = findOperationWithRequestPath(endpoint, "health"); assertThat(webOperation).extracting("invoker") diff --git a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtensionTests.java b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtensionTests.java index 6cfbb91a903..0ad7a18581a 100644 --- a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtensionTests.java +++ b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtensionTests.java @@ -23,15 +23,15 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; -import org.springframework.boot.actuate.health.CompositeHealthDescriptor; -import org.springframework.boot.actuate.health.HealthDescriptor; -import org.springframework.boot.actuate.health.IndicatedHealthDescriptor; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; +import org.springframework.boot.health.actuate.endpoint.CompositeHealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.HealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.IndicatedHealthDescriptor; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.health.contributor.Health; diff --git a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryActuatorAutoConfigurationTests.java b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryActuatorAutoConfigurationTests.java index 145bc496e52..7ad64b31786 100644 --- a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryActuatorAutoConfigurationTests.java +++ b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryActuatorAutoConfigurationTests.java @@ -25,7 +25,6 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.EndpointId; @@ -38,6 +37,7 @@ import org.springframework.boot.actuate.endpoint.web.WebOperation; import org.springframework.boot.actuate.endpoint.web.WebOperationRequestPredicate; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; diff --git a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryHealthEndpointWebExtensionTests.java b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryHealthEndpointWebExtensionTests.java index 9c1931f4827..7f092ac4ddf 100644 --- a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryHealthEndpointWebExtensionTests.java +++ b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryHealthEndpointWebExtensionTests.java @@ -22,14 +22,14 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.endpoint.ApiVersion; -import org.springframework.boot.actuate.health.CompositeHealthDescriptor; -import org.springframework.boot.actuate.health.HealthDescriptor; -import org.springframework.boot.actuate.health.IndicatedHealthDescriptor; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; +import org.springframework.boot.health.actuate.endpoint.CompositeHealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.HealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.IndicatedHealthDescriptor; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.health.contributor.Health; diff --git a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryInfoEndpointWebExtensionTests.java b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryInfoEndpointWebExtensionTests.java index 31c35a0ac2b..8aa7b962dbb 100644 --- a/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryInfoEndpointWebExtensionTests.java +++ b/module/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/autoconfigure/actuate/endpoint/servlet/CloudFoundryInfoEndpointWebExtensionTests.java @@ -22,13 +22,13 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration; import org.springframework.boot.restclient.autoconfigure.RestTemplateAutoConfiguration; diff --git a/module/spring-boot-health/build.gradle b/module/spring-boot-health/build.gradle index 10c643895f0..4d1cec2a6d6 100644 --- a/module/spring-boot-health/build.gradle +++ b/module/spring-boot-health/build.gradle @@ -17,6 +17,7 @@ plugins { id "java-library" id "org.springframework.boot.auto-configuration" + id "org.springframework.boot.configuration-properties" id "org.springframework.boot.deployed" id "org.springframework.boot.optional-dependencies" } @@ -29,6 +30,7 @@ dependencies { compileOnly("com.google.code.findbugs:jsr305") optional(project(":core:spring-boot-autoconfigure")) + optional(project(":module:spring-boot-actuator-autoconfigure")) optional("io.projectreactor:reactor-core") optional("com.fasterxml.jackson.core:jackson-annotations") @@ -36,10 +38,14 @@ dependencies { testImplementation(project(":test-support:spring-boot-test-support")) testImplementation("io.projectreactor:reactor-test") testImplementation("tools.jackson.core:jackson-databind") + testImplementation("org.springframework.security:spring-security-core") + testImplementation("org.springframework:spring-web") + testImplementation("org.springframework:spring-webflux") testCompileOnly("com.google.code.findbugs:jsr305") testRuntimeOnly("ch.qos.logback:logback-classic") + testRuntimeOnly("jakarta.servlet:jakarta.servlet-api") } tasks.named("compileTestJava") { diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AdditionalHealthEndpointPath.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/AdditionalHealthEndpointPath.java similarity index 98% rename from module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AdditionalHealthEndpointPath.java rename to module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/AdditionalHealthEndpointPath.java index 411873d2045..8f83b870659 100644 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AdditionalHealthEndpointPath.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/AdditionalHealthEndpointPath.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import org.jspecify.annotations.Nullable; @@ -27,7 +27,7 @@ import org.springframework.util.StringUtils; * * @author Phillip Webb * @author Madhura Bhave - * @since 2.6.0 + * @since 4.0.0 */ public final class AdditionalHealthEndpointPath { diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthDescriptor.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/CompositeHealthDescriptor.java similarity index 97% rename from module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthDescriptor.java rename to module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/CompositeHealthDescriptor.java index 9d9b1a37e97..0e9f00d8fe9 100644 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthDescriptor.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/CompositeHealthDescriptor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.util.Map; import java.util.TreeMap; diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Contributor.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/Contributor.java similarity index 99% rename from module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Contributor.java rename to module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/Contributor.java index da4e24b9666..b1966461b15 100644 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Contributor.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/Contributor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.util.Iterator; diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthDescriptor.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthDescriptor.java similarity index 95% rename from module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthDescriptor.java rename to module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthDescriptor.java index 1e3db93165e..d9c59ed3c4d 100644 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthDescriptor.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthDescriptor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import com.fasterxml.jackson.annotation.JsonUnwrapped; diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpoint.java similarity index 97% rename from module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java rename to module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpoint.java index 07763085b07..6060421b4fa 100644 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpoint.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.time.Duration; import java.util.Map; @@ -41,7 +41,7 @@ import org.springframework.boot.health.registry.ReactiveHealthContributorRegistr * @author Andy Wilkinson * @author Stephane Nicoll * @author Scott Frederick - * @since 2.0.0 + * @since 4.0.0 */ @Endpoint(id = "health") public class HealthEndpoint extends HealthEndpointSupport { @@ -58,7 +58,6 @@ public class HealthEndpoint extends HealthEndpointSupport getAllWithAdditionalPath(WebServerNamespace namespace) { Assert.notNull(namespace, "'namespace' must not be null"); diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointGroupsPostProcessor.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointGroupsPostProcessor.java similarity index 94% rename from module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointGroupsPostProcessor.java rename to module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointGroupsPostProcessor.java index af1aa2ce6ce..22d9a4946eb 100644 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointGroupsPostProcessor.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointGroupsPostProcessor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; /** * Hook that allows for custom modification of {@link HealthEndpointGroups} — for @@ -22,7 +22,7 @@ package org.springframework.boot.actuate.health; * * @author Phillip Webb * @author Brian Clozel - * @since 2.3.0 + * @since 4.0.0 */ @FunctionalInterface public interface HealthEndpointGroupsPostProcessor { diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointSupport.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointSupport.java similarity index 99% rename from module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointSupport.java rename to module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointSupport.java index f21291e8693..1674b74efd5 100644 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointSupport.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointSupport.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.time.Duration; import java.time.Instant; diff --git a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtension.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtension.java similarity index 98% rename from module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtension.java rename to module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtension.java index 010a5599874..cef9fe88e71 100644 --- a/module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtension.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtension.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.time.Duration; import java.util.Arrays; @@ -47,7 +47,7 @@ import org.springframework.context.annotation.ImportRuntimeHints; * @author Madhura Bhave * @author Stephane Nicoll * @author Scott Frederick - * @since 2.0.0 + * @since 4.0.0 */ @EndpointWebExtension(endpoint = HealthEndpoint.class) @ImportRuntimeHints(HealthEndpointWebExtensionRuntimeHints.class) @@ -60,7 +60,6 @@ public class HealthEndpointWebExtension extends HealthEndpointSupport indicatorFactory) { this.indicatorFactory = indicatorFactory; @@ -53,7 +52,6 @@ abstract class AbstractCompositeHealthContributorConfiguration beanType) { return createContributor(SimpleAutowireCandidateResolver.resolveAutowireCandidates(beanFactory, beanType)); diff --git a/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/registry/HealthContributorRegistryAutoConfiguration.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/registry/HealthContributorRegistryAutoConfiguration.java index 99041c523ce..0d005d79d1c 100644 --- a/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/registry/HealthContributorRegistryAutoConfiguration.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/registry/HealthContributorRegistryAutoConfiguration.java @@ -34,6 +34,7 @@ import org.springframework.boot.health.registry.HealthContributorNameValidator; import org.springframework.boot.health.registry.HealthContributorRegistry; import org.springframework.boot.health.registry.ReactiveHealthContributorRegistry; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -58,6 +59,7 @@ public final class HealthContributorRegistryAutoConfiguration { return new DefaultHealthContributorRegistry(nameValidators, nameGenerator.registrar(contributorBeans)); } + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(Flux.class) static class ReactiveHealthContributorRegistryConfiguration { diff --git a/module/spring-boot-health/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/module/spring-boot-health/src/main/resources/META-INF/additional-spring-configuration-metadata.json new file mode 100644 index 00000000000..1c53a4a092f --- /dev/null +++ b/module/spring-boot-health/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -0,0 +1,110 @@ +{ + "groups": [], + "properties": [ + { + "name": "management.endpoint.health.probes.add-additional-paths", + "type": "java.lang.Boolean", + "description": "Whether to make the liveness and readiness health groups available on the main server port.", + "defaultValue": false + }, + { + "name": "management.endpoint.health.probes.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable liveness and readiness probes.", + "defaultValue": true + }, + { + "name": "management.endpoint.health.status.order", + "defaultValue": [ + "DOWN", + "OUT_OF_SERVICE", + "UP", + "UNKNOWN" + ] + }, + { + "name": "management.endpoint.health.validate-group-membership", + "type": "java.lang.Boolean", + "description": "Whether to validate health group membership on startup. Validation fails if a group includes or excludes a health contributor that does not exist.", + "defaultValue": true + }, + { + "name": "management.health.defaults.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable default health indicators.", + "defaultValue": true + }, + { + "name": "management.health.diskspace.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable disk space health check.", + "defaultValue": true + }, + { + "name": "management.health.influxdb.enabled", + "type": "java.lang.Boolean", + "deprecation": { + "level": "error", + "reason": "InfluxDB support has been removed." + } + }, + { + "name": "management.health.livenessstate.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable liveness state health check.", + "defaultValue": false + }, + { + "name": "management.health.ping.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable ping health check.", + "defaultValue": true + }, + { + "name": "management.health.probes.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable liveness and readiness probes.", + "defaultValue": false, + "deprecation": { + "level": "error", + "replacement": "management.endpoint.health.probes.enabled" + } + }, + { + "name": "management.health.readinessstate.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable readiness state health check.", + "defaultValue": false + }, + { + "name": "management.health.ssl.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable SSL certificate health check.", + "defaultValue": true + } + ], + "hints": [ + { + "name": "management.health.status.order", + "values": [ + { + "value": "UNKNOWN" + }, + { + "value": "UP" + }, + { + "value": "DOWN" + }, + { + "value": "OUT_OF_SERVICE" + } + ], + "providers": [ + { + "name": "any" + } + ] + } + ] +} diff --git a/module/spring-boot-health/src/main/resources/META-INF/spring.factories b/module/spring-boot-health/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000000..ec9d4ccc7fe --- /dev/null +++ b/module/spring-boot-health/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +# Failure Analyzers +org.springframework.boot.diagnostics.FailureAnalyzer=\ +org.springframework.boot.health.autoconfigure.actuate.endpoint.NoSuchHealthContributorFailureAnalyzer diff --git a/module/spring-boot-health/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/module/spring-boot-health/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 7346e1595a1..68ccdebdf25 100644 --- a/module/spring-boot-health/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/module/spring-boot-health/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,2 +1,7 @@ +org.springframework.boot.health.autoconfigure.actuate.endpoint.AvailabilityProbesAutoConfiguration +org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration +org.springframework.boot.health.autoconfigure.application.AvailabilityHealthContributorAutoConfiguration +org.springframework.boot.health.autoconfigure.application.DiskSpaceHealthContributorAutoConfiguration +org.springframework.boot.health.autoconfigure.application.SslHealthContributorAutoConfiguration org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AdditionalHealthEndpointPathTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/AdditionalHealthEndpointPathTests.java similarity index 98% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AdditionalHealthEndpointPathTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/AdditionalHealthEndpointPathTests.java index efd603f93b4..363e66ce0de 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AdditionalHealthEndpointPathTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/AdditionalHealthEndpointPathTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import org.junit.jupiter.api.Test; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthDescriptorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/CompositeHealthDescriptorTests.java similarity index 98% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthDescriptorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/CompositeHealthDescriptorTests.java index 560408aee0b..c3a81e555e5 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthDescriptorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/CompositeHealthDescriptorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.util.Collections; import java.util.LinkedHashMap; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointGroupsTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointGroupsTests.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointGroupsTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointGroupsTests.java index 0f5afca7236..97c17340065 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointGroupsTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointGroupsTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.util.Collections; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointSupportTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointSupportTests.java similarity index 99% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointSupportTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointSupportTests.java index cde4fbb005f..9fd265457d4 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointSupportTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointSupportTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.time.Duration; import java.util.Collections; @@ -30,7 +30,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpointSupport.Result; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointSupport.Result; import org.springframework.boot.health.contributor.Health; import org.springframework.boot.health.contributor.Status; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointTests.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointTests.java index 2e72dbe7092..9eaab2aa6b3 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.time.Duration; import java.util.Collections; @@ -26,7 +26,7 @@ import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.boot.actuate.health.HealthEndpointSupport.Result; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointSupport.Result; import org.springframework.boot.health.contributor.CompositeHealthContributor; import org.springframework.boot.health.contributor.Health; import org.springframework.boot.health.contributor.HealthContributor; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHintsTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtensionRuntimeHintsTests.java similarity index 96% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHintsTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtensionRuntimeHintsTests.java index 5db66f055c3..e22e7e76cfe 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHintsTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtensionRuntimeHintsTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.util.Set; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtensionTests.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtensionTests.java index 0f120a00012..6d0ab86f354 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/HealthEndpointWebExtensionTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.time.Duration; import java.util.Collections; @@ -29,7 +29,7 @@ import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpointSupport.Result; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointSupport.Result; import org.springframework.boot.health.contributor.CompositeHealthContributor; import org.springframework.boot.health.contributor.Health; import org.springframework.boot.health.contributor.HealthContributor; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/IndicatedHealthDescriptorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/IndicatedHealthDescriptorTests.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/IndicatedHealthDescriptorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/IndicatedHealthDescriptorTests.java index 8a4b7085b5e..77e956b498d 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/IndicatedHealthDescriptorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/IndicatedHealthDescriptorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import org.junit.jupiter.api.Test; import tools.jackson.databind.MapperFeature; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtensionTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/ReactiveHealthEndpointWebExtensionTests.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtensionTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/ReactiveHealthEndpointWebExtensionTests.java index 6738dee9cc3..693156028fc 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtensionTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/ReactiveHealthEndpointWebExtensionTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.time.Duration; import java.util.Collections; @@ -29,7 +29,7 @@ import reactor.core.publisher.Mono; import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; -import org.springframework.boot.actuate.health.HealthEndpointSupport.Result; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointSupport.Result; import org.springframework.boot.health.contributor.CompositeReactiveHealthContributor; import org.springframework.boot.health.contributor.Health; import org.springframework.boot.health.contributor.ReactiveHealthContributor; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorImplementationTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/ReactiveHealthIndicatorImplementationTests.java similarity index 98% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorImplementationTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/ReactiveHealthIndicatorImplementationTests.java index 5e4da2143c3..7fa49d1dc54 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorImplementationTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/ReactiveHealthIndicatorImplementationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.time.Duration; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapperTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SimpleHttpCodeStatusMapperTests.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapperTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SimpleHttpCodeStatusMapperTests.java index 37ad794fbf0..6d6d8ee1511 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapperTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SimpleHttpCodeStatusMapperTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.util.LinkedHashMap; import java.util.Map; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleStatusAggregatorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SimpleStatusAggregatorTests.java similarity index 98% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleStatusAggregatorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SimpleStatusAggregatorTests.java index 64c5233125a..f29b3450712 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleStatusAggregatorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SimpleStatusAggregatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import org.junit.jupiter.api.Test; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SystemHealthDescriptorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SystemHealthDescriptorTests.java similarity index 98% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SystemHealthDescriptorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SystemHealthDescriptorTests.java index 8e14dbd3430..63e4520a462 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SystemHealthDescriptorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/SystemHealthDescriptorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.util.Arrays; import java.util.LinkedHashMap; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/TestHealthEndpointGroup.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/TestHealthEndpointGroup.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/TestHealthEndpointGroup.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/TestHealthEndpointGroup.java index 35da3716b2e..7b3a323beae 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/TestHealthEndpointGroup.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/actuate/endpoint/TestHealthEndpointGroup.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health.actuate.endpoint; import java.util.function.Predicate; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicatorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/AvailabilityStateHealthIndicatorTests.java similarity index 98% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicatorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/application/AvailabilityStateHealthIndicatorTests.java index e81df62674b..1eef1b53ab8 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicatorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/AvailabilityStateHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.availability; +package org.springframework.boot.health.application; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicatorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/DiskSpaceHealthIndicatorTests.java similarity index 98% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicatorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/application/DiskSpaceHealthIndicatorTests.java index 98ecb5d594d..13f99c44bfe 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicatorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/DiskSpaceHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.system; +package org.springframework.boot.health.application; import java.io.File; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicatorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/LivenessStateHealthIndicatorTests.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicatorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/application/LivenessStateHealthIndicatorTests.java index ac83a47ef88..fa796ee1ee8 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicatorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/LivenessStateHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.availability; +package org.springframework.boot.health.application; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicatorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/ReadinessStateHealthIndicatorTests.java similarity index 97% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicatorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/application/ReadinessStateHealthIndicatorTests.java index 69ab89b1500..1dc03d2a4f5 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicatorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/ReadinessStateHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.availability; +package org.springframework.boot.health.application; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/ssl/SslHealthIndicatorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/SslHealthIndicatorTests.java similarity index 99% rename from module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/ssl/SslHealthIndicatorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/application/SslHealthIndicatorTests.java index b71ebd9ebf6..fdaae6cfbcd 100644 --- a/module/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/ssl/SslHealthIndicatorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/application/SslHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.ssl; +package org.springframework.boot.health.application; import java.time.Duration; import java.time.Instant; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AutoConfiguredHealthEndpointGroupTests.java similarity index 98% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AutoConfiguredHealthEndpointGroupTests.java index 888519b461a..e981cf9efd0 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AutoConfiguredHealthEndpointGroupTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.health; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import java.security.Principal; import java.util.Arrays; @@ -27,8 +27,8 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.Show; -import org.springframework.boot.actuate.health.HttpCodeStatusMapper; -import org.springframework.boot.actuate.health.StatusAggregator; +import org.springframework.boot.health.actuate.endpoint.HttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.StatusAggregator; import org.springframework.security.core.Authentication; import org.springframework.security.core.authority.SimpleGrantedAuthority; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupsTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AutoConfiguredHealthEndpointGroupsTests.java similarity index 96% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupsTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AutoConfiguredHealthEndpointGroupsTests.java index b4d9e05250c..f8c6dbcc216 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupsTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AutoConfiguredHealthEndpointGroupsTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.health; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import java.util.Collections; @@ -25,15 +25,15 @@ import org.springframework.boot.actuate.endpoint.EndpointId; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.AdditionalPathsMapper; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointGroup; -import org.springframework.boot.actuate.health.HealthEndpointGroups; -import org.springframework.boot.actuate.health.HttpCodeStatusMapper; -import org.springframework.boot.actuate.health.SimpleHttpCodeStatusMapper; -import org.springframework.boot.actuate.health.SimpleStatusAggregator; -import org.springframework.boot.actuate.health.StatusAggregator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroup; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; +import org.springframework.boot.health.actuate.endpoint.HttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.SimpleHttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.SimpleStatusAggregator; +import org.springframework.boot.health.actuate.endpoint.StatusAggregator; import org.springframework.boot.health.contributor.Status; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.ConfigurableApplicationContext; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfigurationTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesAutoConfigurationTests.java similarity index 83% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfigurationTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesAutoConfigurationTests.java index 6c1c6d6a042..f32bdbd0d36 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfigurationTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesAutoConfigurationTests.java @@ -14,15 +14,17 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.availability; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.availability.LivenessStateHealthIndicator; -import org.springframework.boot.actuate.availability.ReadinessStateHealthIndicator; +import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration; import org.springframework.boot.availability.ApplicationAvailability; +import org.springframework.boot.health.application.LivenessStateHealthIndicator; +import org.springframework.boot.health.application.ReadinessStateHealthIndicator; +import org.springframework.boot.health.autoconfigure.application.AvailabilityHealthContributorAutoConfiguration; import org.springframework.boot.test.context.FilteredClassLoader; import org.springframework.boot.test.context.assertj.AssertableApplicationContext; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -52,8 +54,8 @@ class AvailabilityProbesAutoConfigurationTests { } @Test - void probesWhenNoHealthDependencyDoesNotAddBeans() { - this.contextRunner.withClassLoader(new FilteredClassLoader("org.springframework.boot.health")) + void probesWhenNoActautorDependencyDoesNotAddBeans() { + this.contextRunner.withClassLoader(new FilteredClassLoader(Endpoint.class.getName())) .run(this::doesNotHaveProbeBeans); } diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupTests.java similarity index 89% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupTests.java index 9c3287c8908..35bce043018 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupTests.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.availability; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.endpoint.SecurityContext; -import org.springframework.boot.actuate.health.HttpCodeStatusMapper; -import org.springframework.boot.actuate.health.StatusAggregator; +import org.springframework.boot.health.actuate.endpoint.HttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.StatusAggregator; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupsPostProcessorTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupsPostProcessorTests.java similarity index 97% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupsPostProcessorTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupsPostProcessorTests.java index 1ed9f73d2ca..05fa9738b7d 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupsPostProcessorTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupsPostProcessorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.availability; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import java.util.LinkedHashSet; import java.util.List; @@ -26,8 +26,8 @@ import org.mockito.Mockito; import org.springframework.boot.actuate.endpoint.EndpointId; import org.springframework.boot.actuate.endpoint.web.AdditionalPathsMapper; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpointGroup; -import org.springframework.boot.actuate.health.HealthEndpointGroups; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroup; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; import org.springframework.mock.env.MockEnvironment; import static org.assertj.core.api.Assertions.assertThat; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupsTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupsTests.java similarity index 93% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupsTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupsTests.java index ed31fec0e89..0fac14a4b15 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesHealthEndpointGroupsTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/AvailabilityProbesHealthEndpointGroupsTests.java @@ -14,17 +14,17 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.availability; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import java.util.Collections; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.AdditionalHealthEndpointPath; -import org.springframework.boot.actuate.health.HealthEndpointGroup; -import org.springframework.boot.actuate.health.HealthEndpointGroups; -import org.springframework.boot.actuate.health.HttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.AdditionalHealthEndpointPath; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroup; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; +import org.springframework.boot.health.actuate.endpoint.HttpCodeStatusMapper; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/DelegatingAvailabilityProbesHealthEndpointGroupTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/DelegatingAvailabilityProbesHealthEndpointGroupTests.java similarity index 85% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/DelegatingAvailabilityProbesHealthEndpointGroupTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/DelegatingAvailabilityProbesHealthEndpointGroupTests.java index 718651f0097..7cf856f182e 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/DelegatingAvailabilityProbesHealthEndpointGroupTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/DelegatingAvailabilityProbesHealthEndpointGroupTests.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.availability; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.endpoint.SecurityContext; -import org.springframework.boot.actuate.health.AdditionalHealthEndpointPath; -import org.springframework.boot.actuate.health.HealthEndpointGroup; -import org.springframework.boot.actuate.health.HttpCodeStatusMapper; -import org.springframework.boot.actuate.health.StatusAggregator; +import org.springframework.boot.health.actuate.endpoint.AdditionalHealthEndpointPath; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroup; +import org.springframework.boot.health.actuate.endpoint.HttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.StatusAggregator; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfigurationTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/HealthEndpointAutoConfigurationTests.java similarity index 94% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfigurationTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/HealthEndpointAutoConfigurationTests.java index 0b6ed436726..3d0268c1854 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfigurationTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/HealthEndpointAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.health; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import java.util.Collections; import java.util.Map; @@ -25,22 +25,22 @@ import reactor.core.publisher.Mono; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration.HealthEndpointGroupMembershipValidator.NoSuchHealthContributorException; import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.CompositeHealthDescriptor; -import org.springframework.boot.actuate.health.HealthDescriptor; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointGroups; -import org.springframework.boot.actuate.health.HealthEndpointGroupsPostProcessor; -import org.springframework.boot.actuate.health.HealthEndpointWebExtension; -import org.springframework.boot.actuate.health.HttpCodeStatusMapper; -import org.springframework.boot.actuate.health.IndicatedHealthDescriptor; -import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension; -import org.springframework.boot.actuate.health.StatusAggregator; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.actuate.endpoint.CompositeHealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.HealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroupsPostProcessor; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointWebExtension; +import org.springframework.boot.health.actuate.endpoint.HttpCodeStatusMapper; +import org.springframework.boot.health.actuate.endpoint.IndicatedHealthDescriptor; +import org.springframework.boot.health.actuate.endpoint.ReactiveHealthEndpointWebExtension; +import org.springframework.boot.health.actuate.endpoint.StatusAggregator; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointConfiguration.HealthEndpointGroupMembershipValidator.NoSuchHealthContributorException; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.health.contributor.CompositeHealthContributor; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/IncludeExcludeGroupMemberPredicateTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/IncludeExcludeGroupMemberPredicateTests.java similarity index 98% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/IncludeExcludeGroupMemberPredicateTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/IncludeExcludeGroupMemberPredicateTests.java index a1abb918460..324ae758d28 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/IncludeExcludeGroupMemberPredicateTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/IncludeExcludeGroupMemberPredicateTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.health; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import java.util.Arrays; import java.util.Collections; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/NoSuchHealthContributorFailureAnalyzerTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/NoSuchHealthContributorFailureAnalyzerTests.java similarity index 91% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/NoSuchHealthContributorFailureAnalyzerTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/NoSuchHealthContributorFailureAnalyzerTests.java index 05e55c0a18d..e1a9d1f6a13 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/NoSuchHealthContributorFailureAnalyzerTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/actuate/endpoint/NoSuchHealthContributorFailureAnalyzerTests.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.health; +package org.springframework.boot.health.autoconfigure.actuate.endpoint; import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration.HealthEndpointGroupMembershipValidator.NoSuchHealthContributorException; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.diagnostics.FailureAnalysis; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointConfiguration.HealthEndpointGroupMembershipValidator.NoSuchHealthContributorException; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfigurationTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/AvailabilityHealthContributorAutoConfigurationTests.java similarity index 91% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfigurationTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/AvailabilityHealthContributorAutoConfigurationTests.java index 50dc90fff9e..ba64d51aba9 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfigurationTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/AvailabilityHealthContributorAutoConfigurationTests.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.availability; +package org.springframework.boot.health.autoconfigure.application; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.availability.LivenessStateHealthIndicator; -import org.springframework.boot.actuate.availability.ReadinessStateHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration; import org.springframework.boot.availability.ApplicationAvailability; +import org.springframework.boot.health.application.LivenessStateHealthIndicator; +import org.springframework.boot.health.application.ReadinessStateHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfigurationTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/DiskSpaceHealthContributorAutoConfigurationTests.java similarity index 94% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfigurationTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/DiskSpaceHealthContributorAutoConfigurationTests.java index 5ffe2fc933b..d9fe42ae708 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfigurationTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/DiskSpaceHealthContributorAutoConfigurationTests.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.system; +package org.springframework.boot.health.autoconfigure.application; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.system.DiskSpaceHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.application.DiskSpaceHealthIndicator; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.util.unit.DataSize; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfigurationTests.java b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/SslHealthContributorAutoConfigurationTests.java similarity index 95% rename from module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfigurationTests.java rename to module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/SslHealthContributorAutoConfigurationTests.java index 03f3c9ce3df..0813ee9f13e 100644 --- a/module/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfigurationTests.java +++ b/module/spring-boot-health/src/test/java/org/springframework/boot/health/autoconfigure/application/SslHealthContributorAutoConfigurationTests.java @@ -14,17 +14,17 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.ssl; +package org.springframework.boot.health.autoconfigure.application; import java.time.Duration; import java.util.List; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.autoconfigure.ssl.SslHealthContributorAutoConfigurationTests.CustomSslInfoConfiguration.CustomSslHealthIndicator; -import org.springframework.boot.actuate.ssl.SslHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration; +import org.springframework.boot.health.application.SslHealthIndicator; +import org.springframework.boot.health.autoconfigure.application.SslHealthContributorAutoConfigurationTests.CustomSslInfoConfiguration.CustomSslHealthIndicator; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.health.contributor.Health; import org.springframework.boot.health.contributor.HealthIndicator; diff --git a/module/spring-boot-actuator-autoconfigure/src/test/resources/org/springframework/boot/actuate/autoconfigure/ssl/test.jks b/module/spring-boot-health/src/test/resources/org/springframework/boot/health/autoconfigure/application/test.jks similarity index 100% rename from module/spring-boot-actuator-autoconfigure/src/test/resources/org/springframework/boot/actuate/autoconfigure/ssl/test.jks rename to module/spring-boot-health/src/test/resources/org/springframework/boot/health/autoconfigure/application/test.jks diff --git a/module/spring-boot-security-oauth2-resource-server/build.gradle b/module/spring-boot-security-oauth2-resource-server/build.gradle index 257e5b79845..574a4c12f13 100644 --- a/module/spring-boot-security-oauth2-resource-server/build.gradle +++ b/module/spring-boot-security-oauth2-resource-server/build.gradle @@ -41,6 +41,7 @@ dependencies { testImplementation(project(":core:spring-boot-test-autoconfigure")) testImplementation(project(":module:spring-boot-actuator-autoconfigure")) testImplementation(project(":module:spring-boot-jackson")) + testImplementation(project(":module:spring-boot-health")) testImplementation(project(":module:spring-boot-webflux")) testImplementation(project(":module:spring-boot-webmvc")) testImplementation(project(":test-support:spring-boot-test-support")) diff --git a/module/spring-boot-security-saml2/build.gradle b/module/spring-boot-security-saml2/build.gradle index c57092628b1..52a9fda8c30 100644 --- a/module/spring-boot-security-saml2/build.gradle +++ b/module/spring-boot-security-saml2/build.gradle @@ -35,6 +35,7 @@ dependencies { testImplementation(project(":core:spring-boot-test-autoconfigure")) testImplementation(project(":module:spring-boot-actuator-autoconfigure")) + testImplementation(project(":module:spring-boot-health")) testImplementation(project(":module:spring-boot-webmvc")) testImplementation(project(":module:spring-boot-webmvc-test")) testImplementation(project(":test-support:spring-boot-test-support")) diff --git a/module/spring-boot-security/build.gradle b/module/spring-boot-security/build.gradle index ee913539524..bd238ac9413 100644 --- a/module/spring-boot-security/build.gradle +++ b/module/spring-boot-security/build.gradle @@ -34,6 +34,7 @@ dependencies { optional(project(":core:spring-boot-autoconfigure")) optional(project(":module:spring-boot-actuator-autoconfigure")) optional(project(":module:spring-boot-h2console")) + optional(project(":module:spring-boot-health")) optional(project(":module:spring-boot-reactor")) optional(project(":module:spring-boot-restclient-test")) optional(project(":module:spring-boot-rsocket")) @@ -48,7 +49,6 @@ dependencies { optional("org.springframework.security:spring-security-rsocket") testImplementation(project(":core:spring-boot-test")) - testImplementation(project(":module:spring-boot-health")) testImplementation(project(":module:spring-boot-hibernate")) testImplementation(project(":module:spring-boot-http-converter")) testImplementation(project(":module:spring-boot-jackson")) diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfiguration.java index 8de8b04abf4..de918a09854 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfiguration.java @@ -20,13 +20,13 @@ import reactor.core.publisher.Mono; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; import org.springframework.boot.security.autoconfigure.reactive.ReactiveSecurityAutoConfiguration; import org.springframework.boot.security.autoconfigure.reactive.ReactiveUserDetailsServiceAutoConfiguration; import org.springframework.context.annotation.Bean; @@ -54,7 +54,7 @@ import static org.springframework.security.config.Customizer.withDefaults; */ @AutoConfiguration(before = ReactiveSecurityAutoConfiguration.class, after = ReactiveUserDetailsServiceAutoConfiguration.class, - afterName = { "org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration", + afterName = { "org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration", "org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration", "org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration" }) @ConditionalOnClass({ EnableWebFluxSecurity.class, WebFilterChainProxy.class, WebEndpointAutoConfiguration.class }) diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfiguration.java index 6e709b2a53b..a328b143d51 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfiguration.java @@ -18,12 +18,12 @@ package org.springframework.boot.security.autoconfigure.actuate.servlet; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; import org.springframework.boot.security.autoconfigure.ConditionalOnDefaultWebSecurity; import org.springframework.boot.security.autoconfigure.SecurityProperties; import org.springframework.boot.security.autoconfigure.servlet.SecurityAutoConfiguration; @@ -49,7 +49,7 @@ import static org.springframework.security.config.Customizer.withDefaults; * @since 4.0.0 */ @AutoConfiguration(before = SecurityAutoConfiguration.class, - afterName = { "org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration", + afterName = { "org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration", "org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration" }) @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({ RequestMatcher.class, WebEndpointAutoConfiguration.class }) @@ -58,11 +58,14 @@ public final class ManagementWebSecurityAutoConfiguration { @Bean @Order(SecurityProperties.BASIC_AUTH_ORDER) - SecurityFilterChain managementSecurityFilterChain(Environment environment, HttpSecurity http) throws Exception { - http.authorizeHttpRequests((requests) -> { - requests.requestMatchers(healthMatcher(), additionalHealthPathsMatcher()).permitAll(); - requests.anyRequest().authenticated(); - }); + SecurityFilterChain managementSecurityFilterChain(Environment environment, HttpSecurity http) { + if (ClassUtils.isPresent("org.springframework.boot.health.actuate.endpoint.HealthEndpoint", + getClass().getClassLoader())) { + http.authorizeHttpRequests((requests) -> { + requests.requestMatchers(healthMatcher(), additionalHealthPathsMatcher()).permitAll(); + requests.anyRequest().authenticated(); + }); + } if (ClassUtils.isPresent("org.springframework.web.servlet.DispatcherServlet", null)) { http.cors(withDefaults()); } diff --git a/module/spring-boot-security/src/test/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfigurationTests.java b/module/spring-boot-security/src/test/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfigurationTests.java index 8566f6752f2..9dfa518a1d9 100644 --- a/module/spring-boot-security/src/test/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfigurationTests.java +++ b/module/spring-boot-security/src/test/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfigurationTests.java @@ -28,9 +28,9 @@ import reactor.core.publisher.Mono; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.security.autoconfigure.reactive.ReactiveSecurityAutoConfiguration; diff --git a/module/spring-boot-security/src/test/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfigurationTests.java b/module/spring-boot-security/src/test/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfigurationTests.java index 999bc835c3f..d8b5a3ace54 100644 --- a/module/spring-boot-security/src/test/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfigurationTests.java +++ b/module/spring-boot-security/src/test/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfigurationTests.java @@ -26,9 +26,9 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.security.autoconfigure.SecurityProperties; diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/actuate/endpoint/web/AdditionalHealthEndpointPathsWebFluxHandlerMapping.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/actuate/endpoint/web/AdditionalHealthEndpointPathsWebFluxHandlerMapping.java index b9627fc28ed..6ecc9a287aa 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/actuate/endpoint/web/AdditionalHealthEndpointPathsWebFluxHandlerMapping.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/actuate/endpoint/web/AdditionalHealthEndpointPathsWebFluxHandlerMapping.java @@ -28,8 +28,8 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebOperation; import org.springframework.boot.actuate.endpoint.web.WebOperationRequestPredicate; -import org.springframework.boot.actuate.health.AdditionalHealthEndpointPath; -import org.springframework.boot.actuate.health.HealthEndpointGroup; +import org.springframework.boot.health.actuate.endpoint.AdditionalHealthEndpointPath; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroup; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.reactive.HandlerMapping; diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfiguration.java index 89d12dd2405..a579db73ee6 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfiguration.java @@ -24,14 +24,14 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMapping; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointGroups; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; import org.springframework.boot.health.contributor.Health; import org.springframework.boot.webflux.actuate.endpoint.web.AdditionalHealthEndpointPathsWebFluxHandlerMapping; import org.springframework.context.annotation.Bean; diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxEndpointManagementContextConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxEndpointManagementContextConfiguration.java index eb2a30468c6..39c4388fe84 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxEndpointManagementContextConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxEndpointManagementContextConfiguration.java @@ -47,14 +47,14 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointGroups; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; import org.springframework.boot.webflux.actuate.endpoint.web.AdditionalHealthEndpointPathsWebFluxHandlerMapping; import org.springframework.boot.webflux.actuate.endpoint.web.WebFluxEndpointHandlerMapping; import org.springframework.context.annotation.Bean; diff --git a/module/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointAdditionalPathIntegrationTests.java b/module/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointAdditionalPathIntegrationTests.java index a9619abcd14..5b089921c6e 100644 --- a/module/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointAdditionalPathIntegrationTests.java +++ b/module/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointAdditionalPathIntegrationTests.java @@ -19,11 +19,11 @@ package org.springframework.boot.webflux.autoconfigure.actuate.endpoint.web; import org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.integrationtest.AbstractHealthEndpointAdditionalPathIntegrationTests; -import org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthContributorAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; +import org.springframework.boot.health.autoconfigure.application.DiskSpaceHealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.http.codec.autoconfigure.CodecsAutoConfiguration; diff --git a/module/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfigurationTests.java b/module/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfigurationTests.java index c694920340b..6ecfdc9bece 100644 --- a/module/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfigurationTests.java +++ b/module/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfigurationTests.java @@ -22,11 +22,11 @@ import reactor.core.publisher.Mono; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.WithTestEndpointOutcomeExposureContributor; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.ReactiveHealthEndpointWebExtension; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.health.contributor.Health; diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/actuate/endpoint/web/AdditionalHealthEndpointPathsWebMvcHandlerMapping.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/actuate/endpoint/web/AdditionalHealthEndpointPathsWebMvcHandlerMapping.java index cada9c97bd4..ddfb5b55807 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/actuate/endpoint/web/AdditionalHealthEndpointPathsWebMvcHandlerMapping.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/actuate/endpoint/web/AdditionalHealthEndpointPathsWebMvcHandlerMapping.java @@ -27,8 +27,8 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebOperation; import org.springframework.boot.actuate.endpoint.web.WebOperationRequestPredicate; -import org.springframework.boot.actuate.health.AdditionalHealthEndpointPath; -import org.springframework.boot.actuate.health.HealthEndpointGroup; +import org.springframework.boot.health.actuate.endpoint.AdditionalHealthEndpointPath; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroup; import org.springframework.web.servlet.HandlerMapping; /** diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointExtensionAutoConfiguration.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointExtensionAutoConfiguration.java index 8ce098a96fd..7b5ba36ccd8 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointExtensionAutoConfiguration.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointExtensionAutoConfiguration.java @@ -25,14 +25,14 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointEx import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointGroups; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; import org.springframework.boot.webmvc.actuate.endpoint.web.AdditionalHealthEndpointPathsWebMvcHandlerMapping; import org.springframework.context.annotation.Bean; diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcEndpointManagementContextConfiguration.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcEndpointManagementContextConfiguration.java index 9374977f0b1..509ca33bdc5 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcEndpointManagementContextConfiguration.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcEndpointManagementContextConfiguration.java @@ -43,13 +43,13 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointGroups; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointGroups; import org.springframework.boot.webmvc.actuate.endpoint.web.AdditionalHealthEndpointPathsWebMvcHandlerMapping; import org.springframework.boot.webmvc.actuate.endpoint.web.WebMvcEndpointHandlerMapping; import org.springframework.boot.webmvc.autoconfigure.DispatcherServletPath; diff --git a/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/actuate/autoconfigure/health/WebMvcHealthEndpointExtensionAutoConfigurationTests.java b/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/actuate/autoconfigure/health/WebMvcHealthEndpointExtensionAutoConfigurationTests.java index 0ea35498751..52b7f8654a8 100644 --- a/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/actuate/autoconfigure/health/WebMvcHealthEndpointExtensionAutoConfigurationTests.java +++ b/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/actuate/autoconfigure/health/WebMvcHealthEndpointExtensionAutoConfigurationTests.java @@ -21,11 +21,11 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.WithTestEndpointOutcomeExposureContributor; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; -import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthEndpointWebExtension; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpointWebExtension; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.health.contributor.Health; diff --git a/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointAdditionalPathIntegrationTests.java b/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointAdditionalPathIntegrationTests.java index 8b1bfc9a43e..9498eb8ac88 100644 --- a/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointAdditionalPathIntegrationTests.java +++ b/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointAdditionalPathIntegrationTests.java @@ -18,11 +18,11 @@ package org.springframework.boot.webmvc.autoconfigure.actuate.endpoint.web; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.integrationtest.AbstractHealthEndpointAdditionalPathIntegrationTests; -import org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthContributorAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; +import org.springframework.boot.health.autoconfigure.application.DiskSpaceHealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; diff --git a/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcEndpointExposureIntegrationTests.java b/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcEndpointExposureIntegrationTests.java index 5d75151e109..05a114cb3d9 100644 --- a/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcEndpointExposureIntegrationTests.java +++ b/module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcEndpointExposureIntegrationTests.java @@ -30,10 +30,10 @@ import org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoCon import org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.web.exchanges.InMemoryHttpExchangeRepository; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.autoconfigure.actuate.endpoint.HealthEndpointAutoConfiguration; import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration; import org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; diff --git a/smoke-test/spring-boot-smoke-test-session-data-mongodb/src/main/java/smoketest/session/mongodb/SecurityConfiguration.java b/smoke-test/spring-boot-smoke-test-session-data-mongodb/src/main/java/smoketest/session/mongodb/SecurityConfiguration.java index 26d0999647a..7442cbfe442 100644 --- a/smoke-test/spring-boot-smoke-test-session-data-mongodb/src/main/java/smoketest/session/mongodb/SecurityConfiguration.java +++ b/smoke-test/spring-boot-smoke-test-session-data-mongodb/src/main/java/smoketest/session/mongodb/SecurityConfiguration.java @@ -16,7 +16,7 @@ package smoketest.session.mongodb; -import org.springframework.boot.actuate.health.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; import org.springframework.boot.security.autoconfigure.actuate.servlet.EndpointRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/smoke-test/spring-boot-smoke-test-session-data-redis/src/main/java/smoketest/session/redis/SecurityConfiguration.java b/smoke-test/spring-boot-smoke-test-session-data-redis/src/main/java/smoketest/session/redis/SecurityConfiguration.java index 86ecd6d9a9a..43f52ea6096 100644 --- a/smoke-test/spring-boot-smoke-test-session-data-redis/src/main/java/smoketest/session/redis/SecurityConfiguration.java +++ b/smoke-test/spring-boot-smoke-test-session-data-redis/src/main/java/smoketest/session/redis/SecurityConfiguration.java @@ -16,7 +16,7 @@ package smoketest.session.redis; -import org.springframework.boot.actuate.health.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; import org.springframework.boot.security.autoconfigure.actuate.servlet.EndpointRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/smoke-test/spring-boot-smoke-test-session-hazelcast/src/main/java/smoketest/session/hazelcast/SecurityConfiguration.java b/smoke-test/spring-boot-smoke-test-session-hazelcast/src/main/java/smoketest/session/hazelcast/SecurityConfiguration.java index 1c59a1d80ff..35f630ab33d 100644 --- a/smoke-test/spring-boot-smoke-test-session-hazelcast/src/main/java/smoketest/session/hazelcast/SecurityConfiguration.java +++ b/smoke-test/spring-boot-smoke-test-session-hazelcast/src/main/java/smoketest/session/hazelcast/SecurityConfiguration.java @@ -16,7 +16,7 @@ package smoketest.session.hazelcast; -import org.springframework.boot.actuate.health.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; import org.springframework.boot.security.autoconfigure.actuate.servlet.EndpointRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/smoke-test/spring-boot-smoke-test-session-jdbc/src/main/java/smoketest/session/SecurityConfiguration.java b/smoke-test/spring-boot-smoke-test-session-jdbc/src/main/java/smoketest/session/SecurityConfiguration.java index 6cc40850e4d..94bec4a60dd 100644 --- a/smoke-test/spring-boot-smoke-test-session-jdbc/src/main/java/smoketest/session/SecurityConfiguration.java +++ b/smoke-test/spring-boot-smoke-test-session-jdbc/src/main/java/smoketest/session/SecurityConfiguration.java @@ -16,7 +16,7 @@ package smoketest.session; -import org.springframework.boot.actuate.health.HealthEndpoint; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; import org.springframework.boot.security.autoconfigure.actuate.servlet.EndpointRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;