Move R2DBC metrics auto-configuration into spring-boot-r2dbc

See gh-46094
This commit is contained in:
Andy Wilkinson 2025-05-20 16:58:34 +01:00
parent 8f2d5a3efc
commit 7ca4669484
6 changed files with 13 additions and 14 deletions

View File

@ -37,7 +37,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetri
org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.StackdriverMetricsExportAutoConfiguration
org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration
org.springframework.boot.actuate.autoconfigure.metrics.r2dbc.ConnectionPoolMetricsAutoConfiguration
org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration
org.springframework.boot.actuate.autoconfigure.metrics.web.jetty.JettyMetricsAutoConfiguration
org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration

View File

@ -40,6 +40,7 @@ dependencies {
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
optional(project(":spring-boot-project:spring-boot-docker-compose"))
optional(project(":spring-boot-project:spring-boot-jdbc"))
optional(project(":spring-boot-project:spring-boot-metrics"))
optional(project(":spring-boot-project:spring-boot-testcontainers"))
optional("io.micrometer:micrometer-core")
optional("io.r2dbc:r2dbc-pool")

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure.metrics.r2dbc;
package org.springframework.boot.r2dbc.actuate.metrics.autoconfigure;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Tags;
@ -25,12 +25,10 @@ import io.r2dbc.spi.Wrapped;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.support.SimpleAutowireCandidateResolver;
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
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.metrics.autoconfigure.MetricsAutoConfiguration;
import org.springframework.boot.r2dbc.actuate.metrics.ConnectionPoolMetrics;
import org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration;
@ -40,10 +38,10 @@ import org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration;
*
* @author Tadaya Tsuyukubo
* @author Stephane Nicoll
* @since 2.3.0
* @since 4.0.0
*/
@AutoConfiguration(after = { MetricsAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class,
R2dbcAutoConfiguration.class })
@AutoConfiguration(after = R2dbcAutoConfiguration.class,
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration")
@ConditionalOnClass({ ConnectionPool.class, MeterRegistry.class })
@ConditionalOnBean({ ConnectionFactory.class, MeterRegistry.class })
public class ConnectionPoolMetricsAutoConfiguration {

View File

@ -17,4 +17,4 @@
/**
* Auto-configuration for R2DBC metrics.
*/
package org.springframework.boot.actuate.autoconfigure.metrics.r2dbc;
package org.springframework.boot.r2dbc.actuate.metrics.autoconfigure;

View File

@ -1,3 +1,4 @@
org.springframework.boot.r2dbc.actuate.metrics.autoconfigure.ConnectionPoolMetricsAutoConfiguration
org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration
org.springframework.boot.r2dbc.autoconfigure.R2dbcInitializationAutoConfiguration
org.springframework.boot.r2dbc.autoconfigure.R2dbcProxyAutoConfiguration

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure.metrics.r2dbc;
package org.springframework.boot.r2dbc.actuate.metrics.autoconfigure;
import java.util.Collections;
import java.util.UUID;
@ -34,8 +34,8 @@ import io.r2dbc.spi.Wrapped;
import org.junit.jupiter.api.Test;
import org.reactivestreams.Publisher;
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
import org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.context.annotation.Bean;
@ -52,10 +52,10 @@ import static org.assertj.core.api.Assertions.assertThat;
class ConnectionPoolMetricsAutoConfigurationTests {
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withPropertyValues("spring.r2dbc.generate-unique-name=true")
.with(MetricsRun.simple())
.withConfiguration(AutoConfigurations.of(ConnectionPoolMetricsAutoConfiguration.class))
.withUserConfiguration(BaseConfiguration.class);
.withPropertyValues("spring.r2dbc.generate-unique-name=true", "management.metrics.use-global-registry=false")
.withBean(SimpleMeterRegistry.class)
.withConfiguration(
AutoConfigurations.of(ConnectionPoolMetricsAutoConfiguration.class, MetricsAutoConfiguration.class));
@Test
void autoConfiguredDataSourceIsInstrumented() {