Skip to content

Commit dbc6e4c

Browse files
wilkinsonaphilwebb
authored andcommitted
Move R2DBC health and observation to spring-boot-r2dbc
Issue: 46094
1 parent 47ef6b8 commit dbc6e4c

File tree

11 files changed

+39
-31
lines changed

11 files changed

+39
-31
lines changed

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ dependencies {
5858
optional(project(":spring-boot-project:spring-boot-metrics"))
5959
optional(project(":spring-boot-project:spring-boot-micrometer-observation"))
6060
optional(project(":spring-boot-project:spring-boot-opentelemetry"))
61-
optional(project(":spring-boot-project:spring-boot-r2dbc"))
6261
optional(project(":spring-boot-project:spring-boot-restclient"))
6362
optional(project(":spring-boot-project:spring-boot-security-oauth2-client"))
6463
optional(project(":spring-boot-project:spring-boot-security-oauth2-resource-server"))
@@ -88,9 +87,6 @@ dependencies {
8887
optional("io.opentelemetry:opentelemetry-exporter-otlp")
8988
optional("io.projectreactor.netty:reactor-netty-http")
9089
optional("io.prometheus:prometheus-metrics-tracer-common")
91-
optional("io.r2dbc:r2dbc-pool")
92-
optional("io.r2dbc:r2dbc-proxy")
93-
optional("io.r2dbc:r2dbc-spi")
9490
optional("jakarta.persistence:jakarta.persistence-api")
9591
optional("jakarta.servlet:jakarta.servlet-api")
9692
optional("org.apache.activemq:activemq-broker")
@@ -136,7 +132,6 @@ dependencies {
136132
testImplementation("io.opentelemetry:opentelemetry-exporter-common")
137133
testImplementation("io.projectreactor:reactor-test")
138134
testImplementation("io.prometheus:prometheus-metrics-exposition-formats")
139-
testImplementation("io.r2dbc:r2dbc-h2")
140135
testImplementation("com.squareup.okhttp3:mockwebserver")
141136
testImplementation("jakarta.xml.bind:jakarta.xml.bind-api")
142137
testImplementation("org.apache.activemq:artemis-jakarta-client")

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsA
1818
org.springframework.boot.actuate.autoconfigure.observability.ObservabilityAutoConfiguration
1919
org.springframework.boot.actuate.autoconfigure.observation.web.reactive.WebFluxObservationAutoConfiguration
2020
org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration
21-
org.springframework.boot.actuate.autoconfigure.r2dbc.ConnectionFactoryHealthContributorAutoConfiguration
22-
org.springframework.boot.actuate.autoconfigure.r2dbc.R2dbcObservationAutoConfiguration
2321
org.springframework.boot.actuate.autoconfigure.sbom.SbomEndpointAutoConfiguration
2422
org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration
2523
org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksObservabilityAutoConfiguration

spring-boot-project/spring-boot-r2dbc/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@ dependencies {
3636

3737
compileOnly("com.fasterxml.jackson.core:jackson-annotations")
3838

39-
optional(project(":spring-boot-project:spring-boot-actuator"))
39+
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
4040
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
4141
optional(project(":spring-boot-project:spring-boot-docker-compose"))
4242
optional(project(":spring-boot-project:spring-boot-jdbc"))
4343
optional(project(":spring-boot-project:spring-boot-metrics"))
44+
optional(project(":spring-boot-project:spring-boot-micrometer-observation"))
4445
optional(project(":spring-boot-project:spring-boot-testcontainers"))
4546
optional("io.micrometer:micrometer-core")
4647
optional("io.r2dbc:r2dbc-pool")
Lines changed: 4 additions & 4 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.r2dbc;
17+
package org.springframework.boot.r2dbc.actuate.health.autoconfigure;
1818

1919
import io.r2dbc.spi.ConnectionFactory;
2020

@@ -36,10 +36,10 @@
3636
* {@link ConnectionFactoryHealthIndicator}.
3737
*
3838
* @author Mark Paluch
39-
* @since 2.3.0
39+
* @since 4.0.0
4040
*/
4141
@AutoConfiguration(after = R2dbcAutoConfiguration.class)
42-
@ConditionalOnClass({ ConnectionFactory.class, ConnectionFactoryHealthIndicator.class })
42+
@ConditionalOnClass({ ConnectionFactory.class, ConditionalOnEnabledHealthIndicator.class })
4343
@ConditionalOnBean(ConnectionFactory.class)
4444
@ConditionalOnEnabledHealthIndicator("r2dbc")
4545
public class ConnectionFactoryHealthContributorAutoConfiguration
@@ -51,7 +51,7 @@ public class ConnectionFactoryHealthContributorAutoConfiguration
5151

5252
@Bean
5353
@ConditionalOnMissingBean(name = { "r2dbcHealthIndicator", "r2dbcHealthContributor" })
54-
public ReactiveHealthContributor r2dbcHealthContributor(ConfigurableListableBeanFactory beanFactory) {
54+
ReactiveHealthContributor r2dbcHealthContributor(ConfigurableListableBeanFactory beanFactory) {
5555
return createContributor(beanFactory, ConnectionFactory.class);
5656
}
5757

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* Copyright 2012-present the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
/**
18+
* Auto-configuration for R2DBC health integration.
19+
*/
20+
package org.springframework.boot.r2dbc.actuate.health.autoconfigure;
Lines changed: 6 additions & 6 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.r2dbc;
17+
package org.springframework.boot.r2dbc.autoconfigure.observation;
1818

1919
import io.micrometer.observation.ObservationRegistry;
2020
import io.r2dbc.proxy.ProxyConnectionFactory;
@@ -30,7 +30,6 @@
3030
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
3131
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3232
import org.springframework.boot.context.properties.EnableConfigurationProperties;
33-
import org.springframework.boot.micrometer.observation.autoconfigure.ObservationAutoConfiguration;
3433
import org.springframework.boot.r2dbc.OptionsCapableConnectionFactory;
3534
import org.springframework.boot.r2dbc.autoconfigure.ProxyConnectionFactoryCustomizer;
3635
import org.springframework.context.annotation.Bean;
@@ -41,16 +40,17 @@
4140
*
4241
* @author Moritz Halbritter
4342
* @author Tadaya Tsuyukubo
44-
* @since 3.2.0
43+
* @since 4.0.0
4544
*/
46-
@AutoConfiguration(after = ObservationAutoConfiguration.class)
47-
@ConditionalOnClass({ ConnectionFactory.class, ProxyConnectionFactory.class })
45+
@AutoConfiguration(
46+
afterName = "org.springframework.boot.micrometer.observation.autoconfigure.ObservationAutoConfiguration")
47+
@ConditionalOnClass({ ConnectionFactory.class, ProxyConnectionFactory.class, ObservationRegistry.class })
48+
@ConditionalOnBean(ObservationRegistry.class)
4849
@EnableConfigurationProperties(R2dbcObservationProperties.class)
4950
public class R2dbcObservationAutoConfiguration {
5051

5152
/**
5253
* {@code @Order} value of the observation customizer.
53-
* @since 3.4.0
5454
*/
5555
public static final int R2DBC_PROXY_OBSERVATION_CUSTOMIZER_ORDER = 0;
5656

Lines changed: 1 addition & 1 deletion
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.r2dbc;
17+
package org.springframework.boot.r2dbc.autoconfigure.observation;
1818

1919
import org.springframework.boot.context.properties.ConfigurationProperties;
2020

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 R2DBC.
18+
* Auto-configuration for R2DBC observation.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.r2dbc;
20+
package org.springframework.boot.r2dbc.autoconfigure.observation;
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
org.springframework.boot.r2dbc.actuate.health.autoconfigure.ConnectionFactoryHealthContributorAutoConfiguration
12
org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration
23
org.springframework.boot.r2dbc.autoconfigure.R2dbcInitializationAutoConfiguration
34
org.springframework.boot.r2dbc.autoconfigure.R2dbcProxyAutoConfiguration
45
org.springframework.boot.r2dbc.autoconfigure.R2dbcTransactionManagerAutoConfiguration
6+
org.springframework.boot.r2dbc.autoconfigure.observation.R2dbcObservationAutoConfiguration
57
org.springframework.boot.r2dbc.metrics.autoconfigure.ConnectionPoolMetricsAutoConfiguration
Lines changed: 1 addition & 1 deletion
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.r2dbc;
17+
package org.springframework.boot.r2dbc.actuate.health.autoconfigure;
1818

1919
import org.junit.jupiter.api.Test;
2020

0 commit comments

Comments
 (0)