Skip to content

Commit 42cde15

Browse files
committed
Move Hibernate metrics auto-config into spring-boot-jpa
1 parent 57c3a40 commit 42cde15

File tree

7 files changed

+17
-18
lines changed

7 files changed

+17
-18
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
@@ -38,7 +38,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.Stackd
3838
org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration
3939
org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration
4040
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration
41-
org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration
4241
org.springframework.boot.actuate.autoconfigure.metrics.r2dbc.ConnectionPoolMetricsAutoConfiguration
4342
org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration
4443
org.springframework.boot.actuate.autoconfigure.metrics.web.jetty.JettyMetricsAutoConfiguration

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.orm.jpa.HibernateMetricsAutoConfiguration;
3837
import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
3938
import org.springframework.boot.actuate.autoconfigure.observation.web.client.HttpClientObservationsAutoConfiguration;
4039
import org.springframework.boot.actuate.autoconfigure.observation.web.reactive.WebFluxObservationAutoConfiguration;
@@ -43,6 +42,7 @@
4342
import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration;
4443
import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration;
4544
import org.springframework.boot.jdbc.actuate.metrics.autoconfigure.DataSourcePoolMetricsAutoConfiguration;
45+
import org.springframework.boot.jpa.hibernate.actuate.metrics.autoconfigure.HibernateMetricsAutoConfiguration;
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-jpa/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ dependencies {
1515
api("org.hibernate.orm:hibernate-core")
1616
api("org.springframework:spring-orm")
1717
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
18-
optional(project(":spring-boot-project:spring-boot-jdbc"))
18+
optional(project(":spring-boot-project:spring-boot-metrics"))
1919
optional("jakarta.servlet:jakarta.servlet-api")
20+
optional("org.hibernate.orm:hibernate-micrometer")
2021
optional("org.springframework:spring-webmvc")
2122
}
2223

Lines changed: 5 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.orm.jpa;
17+
package org.springframework.boot.jpa.hibernate.actuate.metrics.autoconfigure;
1818

1919
import java.util.Collections;
2020
import java.util.Map;
@@ -28,13 +28,11 @@
2828
import org.springframework.beans.factory.SmartInitializingSingleton;
2929
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
3030
import org.springframework.beans.factory.support.SimpleAutowireCandidateResolver;
31-
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
32-
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
31+
import org.springframework.boot.autoconfigure.AutoConfiguration;
3332
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
3433
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
3534
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
36-
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
37-
import org.springframework.context.annotation.Configuration;
35+
import org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration;
3836
import org.springframework.util.StringUtils;
3937

4038
/**
@@ -45,9 +43,8 @@
4543
* @author Stephane Nicoll
4644
* @since 2.1.0
4745
*/
48-
@Configuration(proxyBeanMethods = false)
49-
@AutoConfigureAfter(value = { MetricsAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class },
50-
name = "org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration")
46+
@AutoConfiguration(after = HibernateJpaAutoConfiguration.class,
47+
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration")
5148
@ConditionalOnClass({ EntityManagerFactory.class, SessionFactory.class, HibernateMetrics.class, MeterRegistry.class })
5249
@ConditionalOnBean({ EntityManagerFactory.class, MeterRegistry.class })
5350
public class HibernateMetricsAutoConfiguration implements SmartInitializingSingleton {
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 JPA metrics.
18+
* Auto-configuration for Hibernate metrics.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa;
20+
package org.springframework.boot.jpa.hibernate.actuate.metrics.autoconfigure;
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
org.springframework.boot.jpa.hibernate.actuate.metrics.autoconfigure.HibernateMetricsAutoConfiguration
12
org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration
Lines changed: 6 additions & 5 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.orm.jpa;
17+
package org.springframework.boot.jpa.hibernate.actuate.metrics.autoconfigure;
1818

1919
import java.util.Map;
2020
import java.util.function.Function;
@@ -32,13 +32,13 @@
3232
import org.junit.jupiter.api.Test;
3333
import org.mockito.ArgumentMatchers;
3434

35-
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
3635
import org.springframework.boot.autoconfigure.AutoConfigurations;
3736
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
3837
import org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration;
3938
import org.springframework.boot.jpa.EntityManagerFactoryBuilder;
4039
import org.springframework.boot.jpa.autoconfigure.EntityManagerFactoryBuilderCustomizer;
4140
import org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration;
41+
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
4242
import org.springframework.boot.test.context.FilteredClassLoader;
4343
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
4444
import org.springframework.boot.testsupport.classpath.resources.WithResource;
@@ -63,10 +63,11 @@
6363
*/
6464
class HibernateMetricsAutoConfigurationTests {
6565

66-
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner().with(MetricsRun.simple())
66+
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
67+
.withBean(SimpleMeterRegistry.class)
6768
.withConfiguration(AutoConfigurations.of(DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
68-
HibernateMetricsAutoConfiguration.class))
69-
.withUserConfiguration(BaseConfiguration.class);
69+
HibernateMetricsAutoConfiguration.class, MetricsAutoConfiguration.class))
70+
.withPropertyValues("management.metrics.use-global-registry=false");
7071

7172
@Test
7273
void autoConfiguredEntityManagerFactoryWithStatsIsInstrumented() {

0 commit comments

Comments
 (0)