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 fbdf738450..6db60b213a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle @@ -34,7 +34,6 @@ dependencies { 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-neo4j")) 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")) @@ -132,7 +131,6 @@ dependencies { optional("org.junit.platform:junit-platform-launcher") optional("org.mongodb:mongodb-driver-reactivestreams") optional("org.mongodb:mongodb-driver-sync") - optional("org.neo4j.driver:neo4j-java-driver") optional("org.quartz-scheduler:quartz") optional("org.springframework:spring-messaging") optional("org.springframework:spring-webflux") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 2105ea72dd..5bf390b512 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -71,12 +71,6 @@ "description": "Whether to enable MongoDB health check.", "defaultValue": true }, - { - "name": "management.health.neo4j.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable Neo4j health check.", - "defaultValue": true - }, { "name": "management.health.ping.enabled", "type": "java.lang.Boolean", 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 5cded2ac69..a0b5c355a9 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 @@ -63,7 +63,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfigur org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration org.springframework.boot.actuate.autoconfigure.metrics.web.jetty.JettyMetricsAutoConfiguration org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration -org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.observation.batch.BatchObservationAutoConfiguration org.springframework.boot.actuate.autoconfigure.observation.graphql.GraphQlObservationAutoConfiguration org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration 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 aa1c2bc6b9..7fef16bfba 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 @@ -29,8 +29,6 @@ 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.neo4j.autoconfigure.Neo4jDataAutoConfiguration; -import org.springframework.boot.data.neo4j.autoconfigure.Neo4jReactiveDataAutoConfiguration; import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration; import org.springframework.boot.data.redis.autoconfigure.RedisRepositoriesAutoConfiguration; import org.springframework.boot.data.rest.autoconfigure.RepositoryRestMvcAutoConfiguration; @@ -75,8 +73,7 @@ class WebEndpointsAutoConfigurationIntegrationTests { } @EnableAutoConfiguration(exclude = { CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class, - Neo4jDataAutoConfiguration.class, Neo4jReactiveDataAutoConfiguration.class, MongoAutoConfiguration.class, - MongoDataAutoConfiguration.class, MongoReactiveAutoConfiguration.class, + MongoAutoConfiguration.class, MongoDataAutoConfiguration.class, MongoReactiveAutoConfiguration.class, MongoReactiveDataAutoConfiguration.class, RepositoryRestMvcAutoConfiguration.class, RedisAutoConfiguration.class, RedisRepositoriesAutoConfiguration.class, BraveAutoConfiguration.class, OpenTelemetryTracingAutoConfiguration.class }) diff --git a/spring-boot-project/spring-boot-neo4j/build.gradle b/spring-boot-project/spring-boot-neo4j/build.gradle index 862f5a0d5c..8fe5d075c2 100644 --- a/spring-boot-project/spring-boot-neo4j/build.gradle +++ b/spring-boot-project/spring-boot-neo4j/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")) dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorAutoConfiguration.java similarity index 76% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java rename to spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorAutoConfiguration.java index c39f6f3c7f..7fb8295e95 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorAutoConfiguration.java @@ -14,19 +14,20 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.neo4j; +package org.springframework.boot.neo4j.actuate.health.autoconfigure; import org.neo4j.driver.Driver; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorConfigurations.Neo4jConfiguration; -import org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorConfigurations.Neo4jReactiveConfiguration; 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.neo4j.actuate.health.Neo4jHealthIndicator; import org.springframework.boot.neo4j.actuate.health.Neo4jReactiveHealthIndicator; +import org.springframework.boot.neo4j.actuate.health.autoconfigure.Neo4jHealthContributorConfigurations.Neo4jConfiguration; +import org.springframework.boot.neo4j.actuate.health.autoconfigure.Neo4jHealthContributorConfigurations.Neo4jReactiveConfiguration; +import org.springframework.boot.neo4j.autoconfigure.Neo4jAutoConfiguration; import org.springframework.context.annotation.Import; /** @@ -38,8 +39,8 @@ import org.springframework.context.annotation.Import; * @author Michael J. Simons * @since 2.0.0 */ -@AutoConfiguration(afterName = "org.springframework.boot.neo4j.autoconfigure.Neo4jAutoConfiguration") -@ConditionalOnClass(Driver.class) +@AutoConfiguration(after = Neo4jAutoConfiguration.class) +@ConditionalOnClass({ Driver.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(Driver.class) @ConditionalOnEnabledHealthIndicator("neo4j") @Import({ Neo4jReactiveConfiguration.class, Neo4jConfiguration.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorConfigurations.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorConfigurations.java similarity index 97% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorConfigurations.java rename to spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorConfigurations.java index 8442d4dba4..7436e78c18 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorConfigurations.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorConfigurations.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.neo4j; +package org.springframework.boot.neo4j.actuate.health.autoconfigure; import org.neo4j.driver.Driver; import reactor.core.publisher.Flux; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/package-info.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/package-info.java similarity index 83% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/package-info.java rename to spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/package-info.java index 146450b326..18ca0dc110 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/package-info.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/package-info.java @@ -15,6 +15,6 @@ */ /** - * Auto-configuration for actuator Neo4J concerns. + * Auto-configuration for Neo4j health integration. */ -package org.springframework.boot.actuate.autoconfigure.neo4j; +package org.springframework.boot.neo4j.actuate.health.autoconfigure; diff --git a/spring-boot-project/spring-boot-neo4j/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-project/spring-boot-neo4j/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 0a3ae6e750..84461cc911 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-boot-project/spring-boot-neo4j/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -1,6 +1,12 @@ { "groups": [], "properties": [ + { + "name": "management.health.neo4j.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable Neo4j health check.", + "defaultValue": true + }, { "name": "spring.neo4j.uri", "defaultValue": "bolt://localhost:7687" diff --git a/spring-boot-project/spring-boot-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 7cc2eaa8d8..f04f7f34c0 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,2 @@ +org.springframework.boot.neo4j.actuate.health.autoconfigure.Neo4jHealthContributorAutoConfiguration org.springframework.boot.neo4j.autoconfigure.Neo4jAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorAutoConfigurationTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfigurationTests.java rename to spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorAutoConfigurationTests.java index 9792b9868d..ccd5406326 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/autoconfigure/Neo4jHealthContributorAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.neo4j; +package org.springframework.boot.neo4j.actuate.health.autoconfigure; import org.junit.jupiter.api.Test; import org.neo4j.driver.Driver;