diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicator.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicator.java index 55b424d64dc..46afd732da9 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicator.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicator.java @@ -31,6 +31,8 @@ import org.elasticsearch.client.Requests; */ public class ElasticsearchHealthIndicator extends AbstractHealthIndicator { + private static final String[] allIndices = { "_all" }; + private final Client client; private final ElasticsearchHealthIndicatorProperties properties; @@ -47,8 +49,8 @@ public class ElasticsearchHealthIndicator extends AbstractHealthIndicator { ClusterHealthResponse response = this.client .admin() .cluster() - .health(Requests.clusterHealthRequest(indices.isEmpty() ? null : indices - .toArray(new String[indices.size()]))) + .health(Requests.clusterHealthRequest(indices.isEmpty() ? allIndices + : indices.toArray(new String[indices.size()]))) .actionGet(this.properties.getResponseTimeout()); switch (response.getStatus()) { diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicatorProperties.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicatorProperties.java index 2c52c8c865a..0ba0de5a29a 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicatorProperties.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicatorProperties.java @@ -28,7 +28,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Andy Wilkinson * @since 1.3.0 */ -@ConfigurationProperties("management.health.elasticsearch") +@ConfigurationProperties(prefix = "management.health.elasticsearch", ignoreUnknownFields = false) public class ElasticsearchHealthIndicatorProperties { /** @@ -45,6 +45,10 @@ public class ElasticsearchHealthIndicatorProperties { return this.indices; } + public void setIndices(List indices) { + this.indices = indices; + } + public long getResponseTimeout() { return this.responseTimeout; } diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicatorTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicatorTests.java index 611ca1086f0..9f8c4d13ed9 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicatorTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ElasticsearchHealthIndicatorTests.java @@ -39,7 +39,6 @@ import static org.hamcrest.Matchers.arrayContaining; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.nullValue; import static org.junit.Assert.assertThat; import static org.mockito.BDDMockito.given; import static org.mockito.Matchers.any; @@ -82,7 +81,7 @@ public class ElasticsearchHealthIndicatorTests { given(this.cluster.health(requestCaptor.capture())).willReturn(responseFuture); Health health = this.indicator.health(); assertThat(responseFuture.getTimeout, is(100L)); - assertThat(requestCaptor.getValue().indices(), is(nullValue())); + assertThat(requestCaptor.getValue().indices(), is(arrayContaining("_all"))); assertThat(health.getStatus(), is(Status.UP)); }