Move code from spring-boot-actuator to spring-boot-data-elasticsearch

Closes gh-46123
This commit is contained in:
Andy Wilkinson 2025-05-09 13:08:18 +01:00
parent 8052ea8d68
commit ac9a395e9f
8 changed files with 19 additions and 10 deletions

View File

@ -21,13 +21,13 @@ import reactor.core.publisher.Flux;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration;
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
import org.springframework.boot.actuate.data.elasticsearch.ElasticsearchReactiveHealthIndicator;
import org.springframework.boot.actuate.health.ReactiveHealthContributor;
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.ConditionalOnMissingBean;
import org.springframework.boot.data.elasticsearch.actuate.health.ElasticsearchReactiveHealthIndicator;
import org.springframework.context.annotation.Bean;
import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchClient;
@ -41,7 +41,7 @@ import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchCl
*/
@AutoConfiguration(
afterName = "org.springframework.boot.elasticsearch.autoconfigure.ReactiveElasticsearchClientAutoConfiguration")
@ConditionalOnClass({ ReactiveElasticsearchClient.class, Flux.class })
@ConditionalOnClass({ ReactiveElasticsearchClient.class, Flux.class, ElasticsearchReactiveHealthIndicator.class })
@ConditionalOnBean(ReactiveElasticsearchClient.class)
@ConditionalOnEnabledHealthIndicator("elasticsearch")
public class ElasticsearchReactiveHealthContributorAutoConfiguration extends

View File

@ -20,9 +20,9 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticsearchRestHealthContributorAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration;
import org.springframework.boot.actuate.data.elasticsearch.ElasticsearchReactiveHealthIndicator;
import org.springframework.boot.actuate.elasticsearch.ElasticsearchRestClientHealthIndicator;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.data.elasticsearch.actuate.health.ElasticsearchReactiveHealthIndicator;
import org.springframework.boot.data.elasticsearch.autoconfigure.ElasticsearchDataAutoConfiguration;
import org.springframework.boot.elasticsearch.autoconfigure.ElasticsearchRestClientAutoConfiguration;
import org.springframework.boot.elasticsearch.autoconfigure.ReactiveElasticsearchClientAutoConfiguration;

View File

@ -59,6 +59,7 @@ dependencies {
optional("com.fasterxml.jackson.core:jackson-databind")
optional("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
optional("com.github.ben-manes.caffeine:caffeine")
optional("com.google.code.findbugs:jsr305")
optional("com.hazelcast:hazelcast-spring")
optional("com.zaxxer:HikariCP")
optional("io.lettuce:lettuce-core")
@ -97,7 +98,6 @@ dependencies {
optional("org.springframework:spring-web")
optional("org.springframework:spring-webmvc")
optional("org.springframework.graphql:spring-graphql")
optional("org.springframework.data:spring-data-elasticsearch")
optional("org.springframework.data:spring-data-ldap")
optional("org.springframework.data:spring-data-mongodb")
optional("org.springframework.data:spring-data-redis")

View File

@ -30,6 +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-autoconfigure"))
optional(project(":spring-boot-project:spring-boot-reactor"))
@ -44,6 +45,8 @@ dependencies {
testImplementation(project(":spring-boot-project:spring-boot-test"))
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
testImplementation(testFixtures(project(":spring-boot-project:spring-boot-autoconfigure")))
testImplementation("com.squareup.okhttp3:mockwebserver")
testImplementation("org.springframework:spring-web")
testRuntimeOnly("ch.qos.logback:logback-classic")
}

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.data.elasticsearch;
package org.springframework.boot.data.elasticsearch.actuate.health;
import co.elastic.clients.elasticsearch._types.HealthStatus;
import co.elastic.clients.elasticsearch.cluster.HealthResponse;
@ -33,7 +33,7 @@ import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchCl
* @author Brian Clozel
* @author Aleksander Lech
* @author Scott Frederick
* @since 2.3.2
* @since 4.0.0
*/
public class ElasticsearchReactiveHealthIndicator extends AbstractReactiveHealthIndicator {

View File

@ -15,6 +15,6 @@
*/
/**
* Actuator support for Elasticsearch dependent on Spring Data.
* Elasticsearch health integration using Spring Data Elasticsearch.
*/
package org.springframework.boot.actuate.data.elasticsearch;
package org.springframework.boot.data.elasticsearch.actuate.health;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.elasticsearch;
package org.springframework.boot.data.elasticsearch.actuate.health;
import java.time.Duration;
import java.util.Map;
@ -30,7 +30,6 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.actuate.data.elasticsearch.ElasticsearchReactiveHealthIndicator;
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.Status;
import org.springframework.boot.testsupport.junit.EnabledOnLocale;

View File

@ -84,6 +84,13 @@ bom {
]
}
}
library("Findbugs JSR 305", "3.0.2") {
group("com.google.code.findbugs") {
modules = [
"jsr305"
]
}
}
library("Janino", "3.1.12") {
group("org.codehaus.janino") {
bom("janino") {