Skip to content

Commit 7332784

Browse files
committed
Move JDBC metrics auto-configuration into spring-boot-jdbc
1 parent da32e93 commit 7332784

File tree

7 files changed

+15
-25
lines changed

7 files changed

+15
-25
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetri
4141
org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.StackdriverMetricsExportAutoConfiguration
4242
org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration
4343
org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration
44-
org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration
4544
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration
4645
org.springframework.boot.actuate.autoconfigure.metrics.mongo.MongoMetricsAutoConfiguration
4746
org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/test/MetricsIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.junit.jupiter.api.Test;
3535

3636
import org.springframework.beans.factory.annotation.Autowired;
37-
import org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration;
3837
import org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration;
3938
import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
4039
import org.springframework.boot.actuate.autoconfigure.observation.web.client.HttpClientObservationsAutoConfiguration;
@@ -43,6 +42,7 @@
4342
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
4443
import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration;
4544
import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration;
45+
import org.springframework.boot.jdbc.actuate.metrics.autoconfigure.DataSourcePoolMetricsAutoConfiguration;
4646
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
4747
import org.springframework.boot.metrics.autoconfigure.jvm.JvmMetricsAutoConfiguration;
4848
import org.springframework.boot.metrics.autoconfigure.logging.logback.LogbackMetricsAutoConfiguration;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ dependencies {
1818
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
1919
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
2020
optional(project(":spring-boot-project:spring-boot-docker-compose"))
21+
optional(project(":spring-boot-project:spring-boot-metrics"))
2122
optional(project(":spring-boot-project:spring-boot-testcontainers"))
2223
optional("com.h2database:h2")
2324
optional("com.mchange:c3p0")

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java renamed to spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/actuate/metrics/autoconfigure/DataSourcePoolMetricsAutoConfiguration.java

Lines changed: 4 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.metrics.jdbc;
17+
package org.springframework.boot.jdbc.actuate.metrics.autoconfigure;
1818

1919
import java.util.Collection;
2020
import java.util.Collections;
@@ -34,7 +34,6 @@
3434
import org.springframework.beans.factory.ObjectProvider;
3535
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
3636
import org.springframework.beans.factory.support.SimpleAutowireCandidateResolver;
37-
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
3837
import org.springframework.boot.autoconfigure.AutoConfiguration;
3938
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
4039
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
@@ -43,7 +42,6 @@
4342
import org.springframework.boot.jdbc.actuate.metrics.DataSourcePoolMetrics;
4443
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
4544
import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider;
46-
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
4745
import org.springframework.context.annotation.Bean;
4846
import org.springframework.context.annotation.Configuration;
4947
import org.springframework.core.log.LogMessage;
@@ -55,10 +53,10 @@
5553
*
5654
* @author Stephane Nicoll
5755
* @author Yanming Zhou
58-
* @since 2.0.0
56+
* @since 4.0.0
5957
*/
60-
@AutoConfiguration(after = { MetricsAutoConfiguration.class, DataSourceAutoConfiguration.class,
61-
SimpleMetricsExportAutoConfiguration.class })
58+
@AutoConfiguration(after = DataSourceAutoConfiguration.class,
59+
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration")
6260
@ConditionalOnClass({ DataSource.class, MeterRegistry.class })
6361
@ConditionalOnBean({ DataSource.class, MeterRegistry.class })
6462
public class DataSourcePoolMetricsAutoConfiguration {

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/package-info.java renamed to spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/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 JPA metrics.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.metrics.jdbc;
20+
package org.springframework.boot.jdbc.actuate.metrics.autoconfigure;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
org.springframework.boot.jdbc.actuate.health.autoconfigure.DataSourceHealthContributorAutoConfiguration
2+
org.springframework.boot.jdbc.actuate.metrics.autoconfigure.DataSourcePoolMetricsAutoConfiguration
23
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
34
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
45
org.springframework.boot.jdbc.autoconfigure.JdbcClientAutoConfiguration

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfigurationTests.java renamed to spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/actuate/metrics/autoconfigure/DataSourcePoolMetricsAutoConfigurationTests.java

Lines changed: 7 additions & 16 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.jdbc;
17+
package org.springframework.boot.jdbc.actuate.metrics.autoconfigure;
1818

1919
import java.sql.SQLException;
2020
import java.util.UUID;
@@ -31,12 +31,12 @@
3131
import org.springframework.beans.factory.config.BeanDefinition;
3232
import org.springframework.beans.factory.config.BeanPostProcessor;
3333
import org.springframework.boot.LazyInitializationBeanFactoryPostProcessor;
34-
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
3534
import org.springframework.boot.autoconfigure.AutoConfigurations;
3635
import org.springframework.boot.jdbc.DataSourceBuilder;
3736
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
3837
import org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration;
3938
import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider;
39+
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
4040
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
4141
import org.springframework.context.annotation.Bean;
4242
import org.springframework.context.annotation.Configuration;
@@ -58,10 +58,11 @@
5858
class DataSourcePoolMetricsAutoConfigurationTests {
5959

6060
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
61-
.withPropertyValues("spring.datasource.generate-unique-name=true")
62-
.with(MetricsRun.simple())
63-
.withConfiguration(AutoConfigurations.of(DataSourcePoolMetricsAutoConfiguration.class))
64-
.withUserConfiguration(BaseConfiguration.class);
61+
.withPropertyValues("spring.datasource.generate-unique-name=true",
62+
"management.metrics.use-global-registry=false")
63+
.withBean(SimpleMeterRegistry.class)
64+
.withConfiguration(
65+
AutoConfigurations.of(MetricsAutoConfiguration.class, DataSourcePoolMetricsAutoConfiguration.class));
6566

6667
@Test
6768
void autoConfiguredDataSourceIsInstrumented() {
@@ -244,16 +245,6 @@ private static HikariDataSource createHikariDataSource(String poolName) {
244245
return hikariDataSource;
245246
}
246247

247-
@Configuration(proxyBeanMethods = false)
248-
static class BaseConfiguration {
249-
250-
@Bean
251-
SimpleMeterRegistry simpleMeterRegistry() {
252-
return new SimpleMeterRegistry();
253-
}
254-
255-
}
256-
257248
@Configuration(proxyBeanMethods = false)
258249
static class TwoDataSourcesConfiguration {
259250

0 commit comments

Comments
 (0)