Move Neo4j health auto-configuration into spring-boot-neo4j

This commit is contained in:
Andy Wilkinson
2025-05-19 09:19:58 +01:00
committed by Phillip Webb
parent 98de3d3cb0
commit 9c9e9ecc7d
11 changed files with 19 additions and 23 deletions

View File

@@ -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")

View File

@@ -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",

View File

@@ -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

View File

@@ -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 })

View File

@@ -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"))

View File

@@ -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 })

View File

@@ -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;

View File

@@ -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;

View File

@@ -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"

View File

@@ -1 +1,2 @@
org.springframework.boot.neo4j.actuate.health.autoconfigure.Neo4jHealthContributorAutoConfiguration
org.springframework.boot.neo4j.autoconfigure.Neo4jAutoConfiguration

View File

@@ -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;