diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle index b10df89e26..bae7085803 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle @@ -32,7 +32,6 @@ dependencies { optional(project(":spring-boot-project:spring-boot-couchbase")) optional(project(":spring-boot-project:spring-boot-data-cassandra")) optional(project(":spring-boot-project:spring-boot-data-jpa")) - optional(project(":spring-boot-project:spring-boot-data-mongodb")) optional(project(":spring-boot-project:spring-boot-data-redis")) optional(project(":spring-boot-project:spring-boot-http-converter")) optional(project(":spring-boot-project:spring-boot-http-codec")) @@ -121,8 +120,6 @@ dependencies { optional("org.hibernate.validator:hibernate-validator") optional("org.influxdb:influxdb-java") optional("org.junit.platform:junit-platform-launcher") - optional("org.mongodb:mongodb-driver-reactivestreams") - optional("org.mongodb:mongodb-driver-sync") optional("org.springframework:spring-messaging") optional("org.springframework:spring-webflux") optional("org.springframework:spring-webmvc") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 3f27635465..d6defabdca 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -8,8 +8,6 @@ org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundry org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.data.mongo.MongoHealthContributorAutoConfiguration -org.springframework.boot.actuate.autoconfigure.data.mongo.MongoReactiveHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.data.redis.RedisHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.data.redis.RedisReactiveHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java index 7fef16bfba..75911fa202 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java @@ -27,13 +27,9 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.cassandra.autoconfigure.CassandraAutoConfiguration; import org.springframework.boot.context.annotation.UserConfigurations; import org.springframework.boot.data.cassandra.autoconfigure.CassandraDataAutoConfiguration; -import org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration; -import org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveDataAutoConfiguration; import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration; import org.springframework.boot.data.redis.autoconfigure.RedisRepositoriesAutoConfiguration; import org.springframework.boot.data.rest.autoconfigure.RepositoryRestMvcAutoConfiguration; -import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; -import org.springframework.boot.mongodb.autoconfigure.MongoReactiveAutoConfiguration; import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; import org.springframework.boot.testsupport.classpath.ClassPathExclusions; @@ -73,9 +69,8 @@ class WebEndpointsAutoConfigurationIntegrationTests { } @EnableAutoConfiguration(exclude = { CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class, - MongoAutoConfiguration.class, MongoDataAutoConfiguration.class, MongoReactiveAutoConfiguration.class, - MongoReactiveDataAutoConfiguration.class, RepositoryRestMvcAutoConfiguration.class, - RedisAutoConfiguration.class, RedisRepositoriesAutoConfiguration.class, BraveAutoConfiguration.class, + RepositoryRestMvcAutoConfiguration.class, RedisAutoConfiguration.class, + RedisRepositoriesAutoConfiguration.class, BraveAutoConfiguration.class, OpenTelemetryTracingAutoConfiguration.class }) @SpringBootConfiguration static class WebEndpointTestApplication { diff --git a/spring-boot-project/spring-boot-data-mongodb/build.gradle b/spring-boot-project/spring-boot-data-mongodb/build.gradle index d7dc4bbd36..adc947ff6e 100644 --- a/spring-boot-project/spring-boot-data-mongodb/build.gradle +++ b/spring-boot-project/spring-boot-data-mongodb/build.gradle @@ -15,7 +15,7 @@ dependencies { compileOnly("com.fasterxml.jackson.core:jackson-annotations") - optional(project(":spring-boot-project:spring-boot-actuator")) + optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) optional(project(":spring-boot-project:spring-boot-reactor")) optional("org.mongodb:mongodb-driver-reactivestreams") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/MongoHealthContributorAutoConfiguration.java similarity index 83% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoHealthContributorAutoConfiguration.java rename to spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/MongoHealthContributorAutoConfiguration.java index 181e98d842..dc79f0c1de 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/MongoHealthContributorAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.data.mongo; +package org.springframework.boot.data.mongodb.actuate.health.autoconfigure; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; @@ -26,6 +26,8 @@ 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.data.mongodb.actuate.health.MongoHealthIndicator; +import org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration; +import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.data.mongodb.core.MongoTemplate; @@ -33,12 +35,11 @@ import org.springframework.data.mongodb.core.MongoTemplate; * {@link EnableAutoConfiguration Auto-configuration} for {@link MongoHealthIndicator}. * * @author Stephane Nicoll - * @since 2.1.0 + * @since 4.0.0 */ -@AutoConfiguration(after = MongoReactiveHealthContributorAutoConfiguration.class, - afterName = { "org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration", - "org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration" }) -@ConditionalOnClass({ MongoTemplate.class, MongoHealthIndicator.class }) +@AutoConfiguration(after = { MongoReactiveHealthContributorAutoConfiguration.class, MongoDataAutoConfiguration.class, + MongoAutoConfiguration.class }) +@ConditionalOnClass({ MongoTemplate.class, MongoHealthIndicator.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(MongoTemplate.class) @ConditionalOnEnabledHealthIndicator("mongo") public class MongoHealthContributorAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/MongoReactiveHealthContributorAutoConfiguration.java similarity index 87% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoReactiveHealthContributorAutoConfiguration.java rename to spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/MongoReactiveHealthContributorAutoConfiguration.java index c634c46b3f..b930e39565 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/MongoReactiveHealthContributorAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.data.mongo; +package org.springframework.boot.data.mongodb.actuate.health.autoconfigure; import reactor.core.publisher.Flux; @@ -28,6 +28,7 @@ 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.data.mongodb.actuate.health.MongoReactiveHealthIndicator; +import org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveDataAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.data.mongodb.core.ReactiveMongoTemplate; @@ -36,10 +37,11 @@ import org.springframework.data.mongodb.core.ReactiveMongoTemplate; * {@link MongoReactiveHealthIndicator}. * * @author Stephane Nicoll - * @since 2.1.0 + * @since 4.0.0 */ -@AutoConfiguration(afterName = "org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveDataAutoConfiguration") -@ConditionalOnClass({ ReactiveMongoTemplate.class, Flux.class, MongoReactiveHealthIndicator.class }) +@AutoConfiguration(after = MongoReactiveDataAutoConfiguration.class) +@ConditionalOnClass({ ReactiveMongoTemplate.class, Flux.class, MongoReactiveHealthIndicator.class, + ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(ReactiveMongoTemplate.class) @ConditionalOnEnabledHealthIndicator("mongo") public class MongoReactiveHealthContributorAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/package-info.java b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/package-info.java similarity index 80% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/package-info.java rename to spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/package-info.java index c40b63c20b..4f95c44b6d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/package-info.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/autoconfigure/package-info.java @@ -15,6 +15,6 @@ */ /** - * Auto-configuration for actuator MongoDB concerns dependent on Spring Data. + * Auto-configuration for MongoDB health integration using Spring Data MongoDB. */ -package org.springframework.boot.actuate.autoconfigure.data.mongo; +package org.springframework.boot.data.mongodb.actuate.health.autoconfigure; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-data-mongodb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 041ff89777..06439462c9 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,5 @@ +org.springframework.boot.data.mongodb.actuate.health.autoconfigure.MongoHealthContributorAutoConfiguration +org.springframework.boot.data.mongodb.actuate.health.autoconfigure.MongoReactiveHealthContributorAutoConfiguration org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveDataAutoConfiguration org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveRepositoriesAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/mongodb/actuate/health/autoconfigure/MongoHealthContributorAutoConfigurationTests.java similarity index 91% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoHealthContributorAutoConfigurationTests.java rename to spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/mongodb/actuate/health/autoconfigure/MongoHealthContributorAutoConfigurationTests.java index 12019e8400..d0ca48a53b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/mongodb/actuate/health/autoconfigure/MongoHealthContributorAutoConfigurationTests.java @@ -14,13 +14,14 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.data.mongo; +package org.springframework.boot.mongodb.actuate.health.autoconfigure; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.data.mongodb.actuate.health.MongoHealthIndicator; +import org.springframework.boot.data.mongodb.actuate.health.autoconfigure.MongoHealthContributorAutoConfiguration; import org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration; import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoReactiveHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/mongodb/actuate/health/autoconfigure/MongoReactiveHealthContributorAutoConfigurationTests.java similarity index 90% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoReactiveHealthContributorAutoConfigurationTests.java rename to spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/mongodb/actuate/health/autoconfigure/MongoReactiveHealthContributorAutoConfigurationTests.java index bca28814e3..894d2ea131 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/mongo/MongoReactiveHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/mongodb/actuate/health/autoconfigure/MongoReactiveHealthContributorAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.data.mongo; +package org.springframework.boot.mongodb.actuate.health.autoconfigure; import org.junit.jupiter.api.Test; @@ -22,6 +22,8 @@ import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAu import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.data.mongodb.actuate.health.MongoHealthIndicator; import org.springframework.boot.data.mongodb.actuate.health.MongoReactiveHealthIndicator; +import org.springframework.boot.data.mongodb.actuate.health.autoconfigure.MongoHealthContributorAutoConfiguration; +import org.springframework.boot.data.mongodb.actuate.health.autoconfigure.MongoReactiveHealthContributorAutoConfiguration; import org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration; import org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveDataAutoConfiguration; import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration;