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 466cf7c12e4..781ee069b2d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle @@ -49,7 +49,6 @@ dependencies { optional(project(":spring-boot-project:spring-boot-cache")) 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-elasticsearch")) 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")) @@ -147,7 +146,6 @@ dependencies { optional("org.eclipse.jetty:jetty-server") { exclude group: "org.eclipse.jetty.toolchain", module: "jetty-jakarta-servlet-api" } - optional("org.elasticsearch.client:elasticsearch-rest-client") optional("org.glassfish.jersey.core:jersey-server") optional("org.glassfish.jersey.containers:jersey-container-servlet-core") optional("org.glassfish.jersey.ext:jersey-micrometer") @@ -174,7 +172,6 @@ dependencies { optional("org.springframework.data:spring-data-ldap") optional("org.springframework.data:spring-data-mongodb") optional("org.springframework.data:spring-data-redis") - optional("org.springframework.data:spring-data-elasticsearch") optional("org.springframework.graphql:spring-graphql") optional("org.springframework.kafka:spring-kafka") optional("org.springframework.security:spring-security-config") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/package-info.java deleted file mode 100644 index a13e38e2383..00000000000 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/package-info.java +++ /dev/null @@ -1,20 +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 concerns dependent on Spring Data. - */ -package org.springframework.boot.actuate.autoconfigure.data; 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 108e102bb59..6c5665e5aab 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,7 +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.elasticsearch.ElasticsearchReactiveHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.data.mongo.MongoHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.data.mongo.MongoReactiveHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.data.redis.RedisHealthContributorAutoConfiguration 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 4eaddea39d5..47bfcd4bce2 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,7 +27,6 @@ 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.elasticsearch.autoconfigure.ElasticsearchDataAutoConfiguration; import org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration; import org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveDataAutoConfiguration; import org.springframework.boot.data.neo4j.autoconfigure.Neo4jDataAutoConfiguration; @@ -82,8 +81,7 @@ class WebEndpointsAutoConfigurationIntegrationTests { CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class, Neo4jDataAutoConfiguration.class, Neo4jReactiveDataAutoConfiguration.class, MongoAutoConfiguration.class, MongoDataAutoConfiguration.class, MongoReactiveAutoConfiguration.class, MongoReactiveDataAutoConfiguration.class, - RepositoryRestMvcAutoConfiguration.class, HazelcastAutoConfiguration.class, - ElasticsearchDataAutoConfiguration.class, RedisAutoConfiguration.class, + RepositoryRestMvcAutoConfiguration.class, HazelcastAutoConfiguration.class, RedisAutoConfiguration.class, RedisRepositoriesAutoConfiguration.class, BraveAutoConfiguration.class, OpenTelemetryTracingAutoConfiguration.class }) @SpringBootConfiguration diff --git a/spring-boot-project/spring-boot-data-elasticsearch/build.gradle b/spring-boot-project/spring-boot-data-elasticsearch/build.gradle index 81db20d2ca1..cf05cfdaf9c 100644 --- a/spring-boot-project/spring-boot-data-elasticsearch/build.gradle +++ b/spring-boot-project/spring-boot-data-elasticsearch/build.gradle @@ -30,7 +30,7 @@ dependencies { api(project(":spring-boot-project:spring-boot-elasticsearch")) api("org.springframework.data:spring-data-elasticsearch") - 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")) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/autoconfigure/ElasticsearchReactiveHealthContributorAutoConfiguration.java similarity index 87% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfiguration.java rename to spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/autoconfigure/ElasticsearchReactiveHealthContributorAutoConfiguration.java index 392ad2b6fd6..9ad118eb36c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/autoconfigure/ElasticsearchReactiveHealthContributorAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.data.elasticsearch; +package org.springframework.boot.data.elasticsearch.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.elasticsearch.actuate.health.ElasticsearchReactiveHealthIndicator; +import org.springframework.boot.elasticsearch.autoconfigure.ReactiveElasticsearchClientAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchClient; @@ -37,11 +38,11 @@ import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchCl * {@link ReactiveElasticsearchClient}. * * @author Aleksander Lech - * @since 2.3.2 + * @since 4.0.0 */ -@AutoConfiguration( - afterName = "org.springframework.boot.elasticsearch.autoconfigure.ReactiveElasticsearchClientAutoConfiguration") -@ConditionalOnClass({ ReactiveElasticsearchClient.class, Flux.class, ElasticsearchReactiveHealthIndicator.class }) +@AutoConfiguration(after = ReactiveElasticsearchClientAutoConfiguration.class) +@ConditionalOnClass({ ReactiveElasticsearchClient.class, Flux.class, ElasticsearchReactiveHealthIndicator.class, + ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(ReactiveElasticsearchClient.class) @ConditionalOnEnabledHealthIndicator("elasticsearch") public class ElasticsearchReactiveHealthContributorAutoConfiguration extends diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/package-info.java b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/autoconfigure/package-info.java similarity index 78% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/package-info.java rename to spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/autoconfigure/package-info.java index 09d76f6e411..44fd42b0d12 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/package-info.java +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/autoconfigure/package-info.java @@ -15,6 +15,7 @@ */ /** - * Auto-configuration for actuator Elasticsearch concerns dependent on Spring Data. + * Auto-configuration for Elasticsearch health integration using Spring Data + * Elasticsearch. */ -package org.springframework.boot.actuate.autoconfigure.data.elasticsearch; +package org.springframework.boot.data.elasticsearch.actuate.health.autoconfigure; diff --git a/spring-boot-project/spring-boot-data-elasticsearch/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-data-elasticsearch/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 7753296fb2d..948f2138d18 100644 --- a/spring-boot-project/spring-boot-data-elasticsearch/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,4 @@ +org.springframework.boot.data.elasticsearch.actuate.health.autoconfigure.ElasticsearchReactiveHealthContributorAutoConfiguration org.springframework.boot.data.elasticsearch.autoconfigure.ElasticsearchDataAutoConfiguration org.springframework.boot.data.elasticsearch.autoconfigure.ElasticsearchRepositoriesAutoConfiguration org.springframework.boot.data.elasticsearch.autoconfigure.ReactiveElasticsearchRepositoriesAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java similarity index 95% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java rename to spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java index 5418e039621..900c6e35870 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/actuate/autoconfigure/data/elasticsearch/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java @@ -21,6 +21,7 @@ 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.elasticsearch.actuate.health.ElasticsearchReactiveHealthIndicator; +import org.springframework.boot.data.elasticsearch.actuate.health.autoconfigure.ElasticsearchReactiveHealthContributorAutoConfiguration; import org.springframework.boot.data.elasticsearch.autoconfigure.ElasticsearchDataAutoConfiguration; import org.springframework.boot.elasticsearch.actuate.health.ElasticsearchRestClientHealthIndicator; import org.springframework.boot.elasticsearch.actuate.health.autoconfigure.ElasticsearchRestHealthContributorAutoConfiguration;