Skip to content

Commit 52f2485

Browse files
wilkinsonaphilwebb
authored andcommitted
Move Redis health and metrics auto-config into spring-boot-data-redis
1 parent 9362d63 commit 52f2485

File tree

15 files changed

+41
-44
lines changed

15 files changed

+41
-44
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ dependencies {
3232
optional(project(":spring-boot-project:spring-boot-couchbase"))
3333
optional(project(":spring-boot-project:spring-boot-data-cassandra"))
3434
optional(project(":spring-boot-project:spring-boot-data-jpa"))
35-
optional(project(":spring-boot-project:spring-boot-data-redis"))
3635
optional(project(":spring-boot-project:spring-boot-http-converter"))
3736
optional(project(":spring-boot-project:spring-boot-http-codec"))
3837
optional(project(":spring-boot-project:spring-boot-jackson"))
@@ -128,12 +127,10 @@ dependencies {
128127
optional("org.springframework.batch:spring-batch-core")
129128
optional("org.springframework.data:spring-data-couchbase")
130129
optional("org.springframework.data:spring-data-jpa")
131-
optional("org.springframework.data:spring-data-redis")
132130
optional("org.springframework.graphql:spring-graphql")
133131
optional("org.springframework.kafka:spring-kafka")
134132
optional("org.springframework.security:spring-security-config")
135133
optional("org.springframework.security:spring-security-web")
136-
optional("redis.clients:jedis")
137134

138135
testImplementation(project(":spring-boot-project:spring-boot-data-rest"))
139136
testImplementation(project(":spring-boot-project:spring-boot-hateoas"))

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,6 @@
9898
"description": "Whether to enable readiness state health check.",
9999
"defaultValue": false
100100
},
101-
{
102-
"name": "management.health.redis.enabled",
103-
"type": "java.lang.Boolean",
104-
"description": "Whether to enable Redis health check.",
105-
"defaultValue": true
106-
},
107101
{
108102
"name": "management.health.ssl.enabled",
109103
"type": "java.lang.Boolean",

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundry
88
org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration
99
org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration
1010
org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration
11-
org.springframework.boot.actuate.autoconfigure.data.redis.RedisHealthContributorAutoConfiguration
12-
org.springframework.boot.actuate.autoconfigure.data.redis.RedisReactiveHealthContributorAutoConfiguration
1311
org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointAutoConfiguration
1412
org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration
1513
org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration
@@ -42,7 +40,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.Wavefron
4240
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration
4341
org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration
4442
org.springframework.boot.actuate.autoconfigure.metrics.r2dbc.ConnectionPoolMetricsAutoConfiguration
45-
org.springframework.boot.actuate.autoconfigure.metrics.redis.LettuceMetricsAutoConfiguration
4643
org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration
4744
org.springframework.boot.actuate.autoconfigure.metrics.web.jetty.JettyMetricsAutoConfiguration
4845
org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
import org.springframework.boot.cassandra.autoconfigure.CassandraAutoConfiguration;
2828
import org.springframework.boot.context.annotation.UserConfigurations;
2929
import org.springframework.boot.data.cassandra.autoconfigure.CassandraDataAutoConfiguration;
30-
import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration;
31-
import org.springframework.boot.data.redis.autoconfigure.RedisRepositoriesAutoConfiguration;
3230
import org.springframework.boot.data.rest.autoconfigure.RepositoryRestMvcAutoConfiguration;
3331
import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner;
3432
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
@@ -69,8 +67,7 @@ private ReactiveWebApplicationContextRunner reactiveWebRunner() {
6967
}
7068

7169
@EnableAutoConfiguration(exclude = { CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class,
72-
RepositoryRestMvcAutoConfiguration.class, RedisAutoConfiguration.class,
73-
RedisRepositoriesAutoConfiguration.class, BraveAutoConfiguration.class,
70+
RepositoryRestMvcAutoConfiguration.class, BraveAutoConfiguration.class,
7471
OpenTelemetryTracingAutoConfiguration.class })
7572
@SpringBootConfiguration
7673
static class WebEndpointTestApplication {

spring-boot-project/spring-boot-data-redis/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ dependencies {
1818

1919
implementation(project(":spring-boot-project:spring-boot-netty"))
2020

21-
optional(project(":spring-boot-project:spring-boot-actuator"))
21+
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
2222
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
2323
optional(project(":spring-boot-project:spring-boot-docker-compose"))
24+
optional(project(":spring-boot-project:spring-boot-metrics"))
2425
optional(project(":spring-boot-project:spring-boot-testcontainers"))
2526
optional("com.redis:testcontainers-redis")
2627
optional("redis.clients:jedis")

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/redis/RedisHealthContributorAutoConfiguration.java renamed to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/autoconfigure/RedisHealthContributorAutoConfiguration.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,20 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.data.redis;
17+
package org.springframework.boot.data.redis.actuate.health.autoconfigure;
1818

1919
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
2020
import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration;
2121
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
2222
import org.springframework.boot.actuate.health.HealthContributor;
23+
import org.springframework.boot.actuate.health.HealthIndicator;
2324
import org.springframework.boot.autoconfigure.AutoConfiguration;
2425
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2526
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2627
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2728
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2829
import org.springframework.boot.data.redis.actuate.health.RedisHealthIndicator;
30+
import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration;
2931
import org.springframework.context.annotation.Bean;
3032
import org.springframework.data.redis.connection.RedisConnectionFactory;
3133

@@ -36,11 +38,10 @@
3638
* @author Richard Santana
3739
* @author Stephane Nicoll
3840
* @author Mark Paluch
39-
* @since 2.1.0
41+
* @since 4.0.0
4042
*/
41-
@AutoConfiguration(after = RedisReactiveHealthContributorAutoConfiguration.class,
42-
afterName = "org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration")
43-
@ConditionalOnClass({ RedisConnectionFactory.class, RedisHealthIndicator.class })
43+
@AutoConfiguration(after = { RedisAutoConfiguration.class, RedisReactiveHealthContributorAutoConfiguration.class })
44+
@ConditionalOnClass({ RedisConnectionFactory.class, HealthIndicator.class, ConditionalOnEnabledHealthIndicator.class })
4445
@ConditionalOnBean(RedisConnectionFactory.class)
4546
@ConditionalOnEnabledHealthIndicator("redis")
4647
public class RedisHealthContributorAutoConfiguration

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/redis/RedisReactiveHealthContributorAutoConfiguration.java renamed to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/autoconfigure/RedisReactiveHealthContributorAutoConfiguration.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,22 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.data.redis;
17+
package org.springframework.boot.data.redis.actuate.health.autoconfigure;
1818

1919
import reactor.core.publisher.Flux;
2020

2121
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
2222
import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration;
2323
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
2424
import org.springframework.boot.actuate.health.ReactiveHealthContributor;
25+
import org.springframework.boot.actuate.health.ReactiveHealthIndicator;
2526
import org.springframework.boot.autoconfigure.AutoConfiguration;
2627
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2728
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2829
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2930
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
3031
import org.springframework.boot.data.redis.actuate.health.RedisReactiveHealthIndicator;
32+
import org.springframework.boot.data.redis.autoconfigure.RedisReactiveAutoConfiguration;
3133
import org.springframework.context.annotation.Bean;
3234
import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory;
3335

@@ -39,10 +41,11 @@
3941
* @author Richard Santana
4042
* @author Stephane Nicoll
4143
* @author Mark Paluch
42-
* @since 2.1.0
44+
* @since 4.0.0
4345
*/
44-
@AutoConfiguration(afterName = "org.springframework.boot.data.redis.autoconfigure.RedisReactiveAutoConfiguration")
45-
@ConditionalOnClass({ ReactiveRedisConnectionFactory.class, Flux.class, RedisReactiveHealthIndicator.class })
46+
@AutoConfiguration(after = RedisReactiveAutoConfiguration.class)
47+
@ConditionalOnClass({ ReactiveRedisConnectionFactory.class, Flux.class, ReactiveHealthIndicator.class,
48+
ConditionalOnEnabledHealthIndicator.class })
4649
@ConditionalOnBean(ReactiveRedisConnectionFactory.class)
4750
@ConditionalOnEnabledHealthIndicator("redis")
4851
public class RedisReactiveHealthContributorAutoConfiguration extends

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/data/redis/package-info.java renamed to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/autoconfigure/package-info.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
*/
1616

1717
/**
18-
* Auto-configuration for actuator Redis concerns dependent on Spring Data.
18+
* Auto-configuration for Redis health integration using Spring Data Redis.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.data.redis;
20+
package org.springframework.boot.data.redis.actuate.health.autoconfigure;

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/LettuceMetricsAutoConfiguration.java renamed to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/metrics/autoconfigure/LettuceMetricsAutoConfiguration.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.metrics.redis;
17+
package org.springframework.boot.data.redis.actuate.metrics.autoconfigure;
1818

1919
import io.lettuce.core.RedisClient;
2020
import io.lettuce.core.metrics.MicrometerCommandLatencyRecorder;
@@ -26,21 +26,19 @@
2626
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2727
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2828
import org.springframework.boot.data.redis.autoconfigure.ClientResourcesBuilderCustomizer;
29-
import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
30-
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
29+
import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration;
3130
import org.springframework.context.annotation.Bean;
3231

3332
/**
3433
* Auto-configuration for Lettuce metrics.
3534
*
3635
* @author Antonin Arquey
3736
* @author Yanming Zhou
38-
* @since 2.6.0
37+
* @since 4.0.0
3938
*/
40-
@AutoConfiguration(beforeName = "org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration",
41-
after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class })
42-
@ConditionalOnClass({ ClientResourcesBuilderCustomizer.class, RedisClient.class,
43-
MicrometerCommandLatencyRecorder.class })
39+
@AutoConfiguration(before = RedisAutoConfiguration.class,
40+
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration")
41+
@ConditionalOnClass({ RedisClient.class, MicrometerCommandLatencyRecorder.class, MeterRegistry.class })
4442
@ConditionalOnBean(MeterRegistry.class)
4543
public class LettuceMetricsAutoConfiguration {
4644

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/package-info.java renamed to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/metrics/autoconfigure/package-info.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
/**
1818
* Auto-configuration for Redis metrics.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.metrics.redis;
20+
package org.springframework.boot.data.redis.actuate.metrics.autoconfigure;

0 commit comments

Comments
 (0)