From b9b7393053ee259dec716558786785a6a9ac3708 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 8 Sep 2020 14:39:37 +0200 Subject: [PATCH] Deprecate Cassandra health indicators that rely on Spring Data With the introduction of health indicators that only require the CqlSession, this commit deprecates the health indicators that require Spring Data since the latter build on top of the former. Closes gh-23226 --- ...draHealthContributorAutoConfiguration.java | 9 +++-- ...sandraHealthContributorConfigurations.java | 10 ++--- ...iveHealthContributorAutoConfiguration.java | 9 +++-- ...althContributorAutoConfigurationTests.java | 38 +++++++++++------- ...althContributorAutoConfigurationTests.java | 40 ++++++++++++------- .../cassandra/CassandraHealthIndicator.java | 2 + .../CassandraReactiveHealthIndicator.java | 2 + .../CassandraHealthIndicatorTests.java | 1 + ...CassandraReactiveHealthIndicatorTests.java | 1 + .../asciidoc/production-ready-features.adoc | 4 +- 10 files changed, 73 insertions(+), 43 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfiguration.java index c15a049c18..23602f3ccb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfiguration.java @@ -19,9 +19,8 @@ package org.springframework.boot.actuate.autoconfigure.cassandra; import com.datastax.oss.driver.api.core.CqlSession; import org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorConfigurations.CassandraDriverConfiguration; -import org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorConfigurations.CassandraOperationsConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.cassandra.CassandraHealthIndicator; +import org.springframework.boot.actuate.cassandra.CassandraDriverHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration; @@ -32,7 +31,7 @@ import org.springframework.context.annotation.Import; /** * {@link EnableAutoConfiguration Auto-configuration} for - * {@link CassandraHealthIndicator}. + * {@link CassandraDriverHealthIndicator}. * * @author Julien Dubois * @author Stephane Nicoll @@ -43,7 +42,9 @@ import org.springframework.context.annotation.Import; @ConditionalOnEnabledHealthIndicator("cassandra") @AutoConfigureAfter({ CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class, CassandraReactiveHealthContributorAutoConfiguration.class }) -@Import({ CassandraOperationsConfiguration.class, CassandraDriverConfiguration.class }) +@Import({ CassandraDriverConfiguration.class, + CassandraHealthContributorConfigurations.CassandraOperationsConfiguration.class }) +@SuppressWarnings("deprecation") public class CassandraHealthContributorAutoConfiguration { } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorConfigurations.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorConfigurations.java index a618380a4f..b3ff97fe0e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorConfigurations.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorConfigurations.java @@ -24,8 +24,6 @@ import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthCont import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration; import org.springframework.boot.actuate.cassandra.CassandraDriverHealthIndicator; import org.springframework.boot.actuate.cassandra.CassandraDriverReactiveHealthIndicator; -import org.springframework.boot.actuate.cassandra.CassandraHealthIndicator; -import org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -59,8 +57,9 @@ class CassandraHealthContributorConfigurations { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(CassandraOperations.class) @ConditionalOnBean(CassandraOperations.class) - static class CassandraOperationsConfiguration - extends CompositeHealthContributorConfiguration { + @Deprecated + static class CassandraOperationsConfiguration extends + CompositeHealthContributorConfiguration { @Bean @ConditionalOnMissingBean(name = { "cassandraHealthIndicator", "cassandraHealthContributor" }) @@ -86,8 +85,9 @@ class CassandraHealthContributorConfigurations { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ReactiveCassandraOperations.class) @ConditionalOnBean(ReactiveCassandraOperations.class) + @Deprecated static class CassandraReactiveOperationsConfiguration extends - CompositeReactiveHealthContributorConfiguration { + CompositeReactiveHealthContributorConfiguration { @Bean @ConditionalOnMissingBean(name = { "cassandraHealthIndicator", "cassandraHealthContributor" }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfiguration.java index b6fbfdd7c8..14f26a5f31 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfiguration.java @@ -19,9 +19,8 @@ import com.datastax.oss.driver.api.core.CqlSession; import reactor.core.publisher.Flux; import org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorConfigurations.CassandraReactiveDriverConfiguration; -import org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorConfigurations.CassandraReactiveOperationsConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator; +import org.springframework.boot.actuate.cassandra.CassandraDriverReactiveHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -31,7 +30,7 @@ import org.springframework.context.annotation.Import; /** * {@link EnableAutoConfiguration Auto-configuration} for - * {@link CassandraReactiveHealthIndicator}. + * {@link CassandraDriverReactiveHealthIndicator}. * * @author Artsiom Yudovin * @author Stephane Nicoll @@ -41,7 +40,9 @@ import org.springframework.context.annotation.Import; @ConditionalOnClass({ CqlSession.class, Flux.class }) @ConditionalOnEnabledHealthIndicator("cassandra") @AutoConfigureAfter(CassandraReactiveDataAutoConfiguration.class) -@Import({ CassandraReactiveOperationsConfiguration.class, CassandraReactiveDriverConfiguration.class }) +@Import({ CassandraReactiveDriverConfiguration.class, + CassandraHealthContributorConfigurations.CassandraReactiveOperationsConfiguration.class }) +@SuppressWarnings("deprecation") public class CassandraReactiveHealthContributorAutoConfiguration { } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfigurationTests.java index 21c5a00c5d..3e6e09d25e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfigurationTests.java @@ -21,7 +21,6 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.actuate.cassandra.CassandraDriverHealthIndicator; -import org.springframework.boot.actuate.cassandra.CassandraHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.FilteredClassLoader; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -36,6 +35,7 @@ import static org.mockito.Mockito.mock; * @author Phillip Webb * @author Stephane Nicoll */ +@SuppressWarnings("deprecation") class CassandraHealthContributorAutoConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() @@ -45,21 +45,31 @@ class CassandraHealthContributorAutoConfigurationTests { @Test void runWithoutCqlSessionOrCassandraOperationsShouldNotCreateIndicator() { this.contextRunner.run((context) -> assertThat(context).doesNotHaveBean("cassandraHealthContributor") - .doesNotHaveBean(CassandraHealthIndicator.class).doesNotHaveBean(CassandraDriverHealthIndicator.class)); - } - - @Test - void runWithCassandraOperationsShouldCreateRegularIndicator() { - this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)) - .withBean(CassandraOperations.class, () -> mock(CassandraOperations.class)) - .run((context) -> assertThat(context).hasSingleBean(CassandraHealthIndicator.class) - .doesNotHaveBean(CassandraDriverHealthIndicator.class)); + .doesNotHaveBean(org.springframework.boot.actuate.cassandra.CassandraHealthIndicator.class) + .doesNotHaveBean(CassandraDriverHealthIndicator.class)); } @Test void runWithCqlSessionOnlyShouldCreateDriverIndicator() { - this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)).run((context) -> assertThat(context) - .hasSingleBean(CassandraDriverHealthIndicator.class).doesNotHaveBean(CassandraHealthIndicator.class)); + this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)) + .run((context) -> assertThat(context).hasSingleBean(CassandraDriverHealthIndicator.class) + .doesNotHaveBean(org.springframework.boot.actuate.cassandra.CassandraHealthIndicator.class)); + } + + @Test + void runWithCassandraOperationsOnlyShouldCreateRegularIndicator() { + this.contextRunner.withBean(CassandraOperations.class, () -> mock(CassandraOperations.class)) + .run((context) -> assertThat(context) + .hasSingleBean(org.springframework.boot.actuate.cassandra.CassandraHealthIndicator.class) + .doesNotHaveBean(CassandraDriverHealthIndicator.class)); + } + + @Test + void runWithCqlSessionAndCassandraOperationsShouldCreateDriverIndicator() { + this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)) + .withBean(CassandraOperations.class, () -> mock(CassandraOperations.class)) + .run((context) -> assertThat(context).hasSingleBean(CassandraDriverHealthIndicator.class) + .doesNotHaveBean(org.springframework.boot.actuate.cassandra.CassandraHealthIndicator.class)); } @Test @@ -67,7 +77,7 @@ class CassandraHealthContributorAutoConfigurationTests { this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)) .withClassLoader(new FilteredClassLoader("org.springframework.data")) .run((context) -> assertThat(context).hasSingleBean(CassandraDriverHealthIndicator.class) - .doesNotHaveBean(CassandraHealthIndicator.class)); + .doesNotHaveBean(org.springframework.boot.actuate.cassandra.CassandraHealthIndicator.class)); } @Test @@ -76,7 +86,7 @@ class CassandraHealthContributorAutoConfigurationTests { .withBean(CassandraOperations.class, () -> mock(CassandraOperations.class)) .withPropertyValues("management.health.cassandra.enabled:false") .run((context) -> assertThat(context).doesNotHaveBean("cassandraHealthContributor") - .doesNotHaveBean(CassandraHealthIndicator.class) + .doesNotHaveBean(org.springframework.boot.actuate.cassandra.CassandraHealthIndicator.class) .doesNotHaveBean(CassandraDriverHealthIndicator.class)); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfigurationTests.java index 81cff2bee5..21bb7d94d9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfigurationTests.java @@ -22,8 +22,6 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.actuate.cassandra.CassandraDriverHealthIndicator; import org.springframework.boot.actuate.cassandra.CassandraDriverReactiveHealthIndicator; -import org.springframework.boot.actuate.cassandra.CassandraHealthIndicator; -import org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.FilteredClassLoader; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -39,6 +37,7 @@ import static org.mockito.Mockito.mock; * @author Artsiom Yudovin * @author Stephane Nicoll */ +@SuppressWarnings("deprecation") class CassandraReactiveHealthContributorAutoConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() @@ -48,37 +47,50 @@ class CassandraReactiveHealthContributorAutoConfigurationTests { @Test void runWithoutCqlSessionOrReactiveCassandraOperationsShouldNotCreateIndicator() { this.contextRunner.run((context) -> assertThat(context).doesNotHaveBean("cassandraHealthContributor") - .doesNotHaveBean(CassandraReactiveHealthIndicator.class) + .doesNotHaveBean(org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator.class) .doesNotHaveBean(CassandraDriverReactiveHealthIndicator.class)); } @Test - void runWithReactiveCassandraOperationsShouldOnlyCreateReactiveIndicator() { + void runWithCqlSessionOnlyShouldCreateDriverIndicator() { this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)) - .withBean(ReactiveCassandraOperations.class, () -> mock(ReactiveCassandraOperations.class)) + .run((context) -> assertThat(context).hasBean("cassandraHealthContributor") + .hasSingleBean(CassandraDriverReactiveHealthIndicator.class).doesNotHaveBean( + org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator.class)); + } + + @Test + void runWithReactiveCassandraOperationsOnlyShouldCreateReactiveIndicator() { + this.contextRunner.withBean(ReactiveCassandraOperations.class, () -> mock(ReactiveCassandraOperations.class)) .withBean(CassandraOperations.class, () -> mock(CassandraOperations.class)) .run((context) -> assertThat(context).hasBean("cassandraHealthContributor") - .hasSingleBean(CassandraReactiveHealthIndicator.class) + .hasSingleBean( + org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator.class) .doesNotHaveBean(CassandraDriverReactiveHealthIndicator.class) - .doesNotHaveBean(CassandraHealthIndicator.class) + .doesNotHaveBean(org.springframework.boot.actuate.cassandra.CassandraHealthIndicator.class) .doesNotHaveBean(CassandraDriverHealthIndicator.class)); } @Test - void runWithCqlSessionShouldCreateDriverIndicator() { + void runWithCqlSessionAndReactiveCassandraOperationsShouldCreateDriverIndicator() { this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)) + .withBean(ReactiveCassandraOperations.class, () -> mock(ReactiveCassandraOperations.class)) + .withBean(CassandraOperations.class, () -> mock(CassandraOperations.class)) .run((context) -> assertThat(context).hasBean("cassandraHealthContributor") .hasSingleBean(CassandraDriverReactiveHealthIndicator.class) - .doesNotHaveBean(CassandraReactiveHealthIndicator.class)); + .doesNotHaveBean( + org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator.class) + .doesNotHaveBean(org.springframework.boot.actuate.cassandra.CassandraHealthIndicator.class) + .doesNotHaveBean(CassandraDriverHealthIndicator.class)); } @Test - void runWithCqlSessionAndSpringDataAbsentShouldACreateDriverIndicator() { + void runWithCqlSessionAndSpringDataAbsentShouldCreateDriverIndicator() { this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)) .withClassLoader(new FilteredClassLoader("org.springframework.data")) .run((context) -> assertThat(context).hasBean("cassandraHealthContributor") - .hasSingleBean(CassandraDriverReactiveHealthIndicator.class) - .doesNotHaveBean(CassandraReactiveHealthIndicator.class)); + .hasSingleBean(CassandraDriverReactiveHealthIndicator.class).doesNotHaveBean( + org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator.class)); } @Test @@ -86,8 +98,8 @@ class CassandraReactiveHealthContributorAutoConfigurationTests { this.contextRunner.withBean(CqlSession.class, () -> mock(CqlSession.class)) .withBean(ReactiveCassandraOperations.class, () -> mock(ReactiveCassandraOperations.class)) .withPropertyValues("management.health.cassandra.enabled:false") - .run((context) -> assertThat(context).doesNotHaveBean("cassandraHealthContributor") - .doesNotHaveBean(CassandraReactiveHealthIndicator.class)); + .run((context) -> assertThat(context).doesNotHaveBean("cassandraHealthContributor").doesNotHaveBean( + org.springframework.boot.actuate.cassandra.CassandraReactiveHealthIndicator.class)); } } diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra/CassandraHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra/CassandraHealthIndicator.java index a02d5fe398..2b15f4e8b3 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra/CassandraHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra/CassandraHealthIndicator.java @@ -32,7 +32,9 @@ import org.springframework.util.Assert; * @author Julien Dubois * @author Alexandre Dutra * @since 2.0.0 + * @deprecated since 2.4.0 in favor of {@link CassandraDriverHealthIndicator} */ +@Deprecated public class CassandraHealthIndicator extends AbstractHealthIndicator { private static final SimpleStatement SELECT = SimpleStatement diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra/CassandraReactiveHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra/CassandraReactiveHealthIndicator.java index eed0b2df71..12375aff5b 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra/CassandraReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra/CassandraReactiveHealthIndicator.java @@ -30,7 +30,9 @@ import org.springframework.util.Assert; * * @author Artsiom Yudovin * @since 2.1.0 + * @deprecated since 2.4.0 in favor of {@link CassandraDriverHealthIndicator} */ +@Deprecated public class CassandraReactiveHealthIndicator extends AbstractReactiveHealthIndicator { private static final SimpleStatement SELECT = SimpleStatement diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/cassandra/CassandraHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/cassandra/CassandraHealthIndicatorTests.java index d07274bed9..8044c99fc3 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/cassandra/CassandraHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/cassandra/CassandraHealthIndicatorTests.java @@ -38,6 +38,7 @@ import static org.mockito.Mockito.mock; * @author Oleksii Bondar * @author Stephane Nicoll */ +@Deprecated class CassandraHealthIndicatorTests { @Test diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/cassandra/CassandraReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/cassandra/CassandraReactiveHealthIndicatorTests.java index b795e3d783..5ac7de6c06 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/cassandra/CassandraReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/cassandra/CassandraReactiveHealthIndicatorTests.java @@ -37,6 +37,7 @@ import static org.mockito.Mockito.mock; * * @author Artsiom Yudovin */ +@Deprecated class CassandraReactiveHealthIndicatorTests { @Test diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/production-ready-features.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/production-ready-features.adoc index f343afacb5..884fcf600e 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/production-ready-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/production-ready-features.adoc @@ -679,7 +679,7 @@ with the `key` listed in the table below. ======= | `cassandra` -| {spring-boot-actuator-module-code}/cassandra/CassandraHealthIndicator.java[`CassandraHealthIndicator`] or {spring-boot-actuator-module-code}/cassandra/CassandraDriverHealthIndicator.java[`CassandraDriverHealthIndicator`] +| {spring-boot-actuator-module-code}/cassandra/CassandraDriverHealthIndicator.java[`CassandraDriverHealthIndicator`] | Checks that a Cassandra database is up. | `couchbase` @@ -878,7 +878,7 @@ The following `ReactiveHealthIndicators` are auto-configured by Spring Boot when |=== | Name | Description -| {spring-boot-actuator-module-code}/cassandra/CassandraReactiveHealthIndicator.java[`CassandraReactiveHealthIndicator`] or {spring-boot-actuator-module-code}/cassandra/CassandraDriverReactiveHealthIndicator.java[`CassandraDriverReactiveHealthIndicator`] +| {spring-boot-actuator-module-code}/cassandra/CassandraDriverReactiveHealthIndicator.java[`CassandraDriverReactiveHealthIndicator`] | Checks that a Cassandra database is up. | {spring-boot-actuator-module-code}/couchbase/CouchbaseReactiveHealthIndicator.java[`CouchbaseReactiveHealthIndicator`]