diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle index 5bcc77e823f..81e049d17fb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle @@ -111,8 +111,6 @@ dependencies { optional("org.springframework:spring-messaging") optional("org.springframework:spring-webflux") optional("org.springframework:spring-webmvc") - optional("org.springframework.data:spring-data-couchbase") - optional("org.springframework.data:spring-data-jpa") optional("org.springframework.kafka:spring-kafka") optional("org.springframework.security:spring-security-config") optional("org.springframework.security:spring-security-web") @@ -143,7 +141,6 @@ dependencies { testImplementation("org.glassfish.jersey.media:jersey-media-json-jackson") testImplementation("org.hsqldb:hsqldb") testImplementation("org.springframework:spring-orm") - testImplementation("org.springframework.data:spring-data-rest-webmvc") testImplementation("org.springframework.security:spring-security-test") testImplementation("org.yaml:snakeyaml") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 33384d73db4..4ff33513ce6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -13,7 +13,6 @@ org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfi org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.metrics.data.RepositoryMetricsAutoConfiguration org.springframework.boot.actuate.autoconfigure.observability.ObservabilityAutoConfiguration org.springframework.boot.actuate.autoconfigure.sbom.SbomEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator/build.gradle b/spring-boot-project/spring-boot-actuator/build.gradle index e0fb02c6b02..3c5bf960782 100644 --- a/spring-boot-project/spring-boot-actuator/build.gradle +++ b/spring-boot-project/spring-boot-actuator/build.gradle @@ -55,7 +55,6 @@ dependencies { optional("org.springframework:spring-messaging") optional("org.springframework:spring-webflux") optional("org.springframework.graphql:spring-graphql") - optional("org.springframework.data:spring-data-rest-webmvc") optional("org.springframework.security:spring-security-core") optional("org.springframework.security:spring-security-web") diff --git a/spring-boot-project/spring-boot-data-commons/build.gradle b/spring-boot-project/spring-boot-data-commons/build.gradle index 5b4764d576b..5f9a8ab1595 100644 --- a/spring-boot-project/spring-boot-data-commons/build.gradle +++ b/spring-boot-project/spring-boot-data-commons/build.gradle @@ -31,6 +31,7 @@ dependencies { optional(project(":spring-boot-project:spring-boot-autoconfigure")) optional(project(":spring-boot-project:spring-boot-data-rest")) + optional(project(":spring-boot-project:spring-boot-metrics")) testImplementation(project(":spring-boot-project:spring-boot-data-jpa")) testImplementation(project(":spring-boot-project:spring-boot-test")) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/AutoTimer.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/AutoTimer.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/AutoTimer.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/AutoTimer.java index 7282a5e9973..ad0dd480e81 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/AutoTimer.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/AutoTimer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; import java.util.Set; import java.util.function.Consumer; @@ -33,7 +33,7 @@ import org.springframework.util.CollectionUtils; * @author Tadaya Tsuyukubo * @author Stephane Nicoll * @author Phillip Webb - * @since 2.2.0 + * @since 4.0.0 */ @FunctionalInterface public interface AutoTimer { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/DefaultRepositoryTagsProvider.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/DefaultRepositoryTagsProvider.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/DefaultRepositoryTagsProvider.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/DefaultRepositoryTagsProvider.java index 6c1df3631e6..169f88fe4e0 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/DefaultRepositoryTagsProvider.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/DefaultRepositoryTagsProvider.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; import java.lang.reflect.Method; import java.util.function.Function; @@ -30,7 +30,7 @@ import org.springframework.util.StringUtils; * Default {@link RepositoryTagsProvider} implementation. * * @author Phillip Webb - * @since 2.5.0 + * @since 4.0.0 */ public class DefaultRepositoryTagsProvider implements RepositoryTagsProvider { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/MetricsRepositoryMethodInvocationListener.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/MetricsRepositoryMethodInvocationListener.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/MetricsRepositoryMethodInvocationListener.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/MetricsRepositoryMethodInvocationListener.java index 5af56c0d2db..abe4b98b217 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/MetricsRepositoryMethodInvocationListener.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/MetricsRepositoryMethodInvocationListener.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -32,7 +32,7 @@ import org.springframework.util.function.SingletonSupplier; * execution time and results. * * @author Phillip Webb - * @since 2.5.0 + * @since 4.0.0 */ public class MetricsRepositoryMethodInvocationListener implements RepositoryMethodInvocationListener { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/RepositoryTagsProvider.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/RepositoryTagsProvider.java similarity index 94% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/RepositoryTagsProvider.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/RepositoryTagsProvider.java index 9a169fd331c..cc2552c7847 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/RepositoryTagsProvider.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/RepositoryTagsProvider.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; import io.micrometer.core.instrument.Tag; @@ -25,7 +25,7 @@ import org.springframework.data.repository.core.support.RepositoryMethodInvocati * invocations}. * * @author Phillip Webb - * @since 2.5.0 + * @since 4.0.0 */ @FunctionalInterface public interface RepositoryTagsProvider { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/TimedAnnotations.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/TimedAnnotations.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/TimedAnnotations.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/TimedAnnotations.java index 4d243a120a2..24dc6e9d0c5 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/TimedAnnotations.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/TimedAnnotations.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Method; @@ -32,7 +32,7 @@ import org.springframework.util.ConcurrentReferenceHashMap; * Utility used to obtain {@link Timed @Timed} annotations from bean methods. * * @author Phillip Webb - * @since 2.5.0 + * @since 4.0.0 */ public final class TimedAnnotations { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/DataMetricsProperties.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/DataMetricsProperties.java similarity index 97% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/DataMetricsProperties.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/DataMetricsProperties.java index e05b1a5afde..b27e535c68b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/DataMetricsProperties.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/DataMetricsProperties.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data; +package org.springframework.boot.data.metrics.autoconfigure; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/MetricsRepositoryMethodInvocationListenerBeanPostProcessor.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/MetricsRepositoryMethodInvocationListenerBeanPostProcessor.java similarity index 93% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/MetricsRepositoryMethodInvocationListenerBeanPostProcessor.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/MetricsRepositoryMethodInvocationListenerBeanPostProcessor.java index 13b5a864b75..99df2eb9c83 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/MetricsRepositoryMethodInvocationListenerBeanPostProcessor.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/MetricsRepositoryMethodInvocationListenerBeanPostProcessor.java @@ -14,11 +14,11 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data; +package org.springframework.boot.data.metrics.autoconfigure; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; -import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener; +import org.springframework.boot.data.metrics.MetricsRepositoryMethodInvocationListener; import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport; import org.springframework.data.repository.core.support.RepositoryFactoryCustomizer; import org.springframework.data.repository.core.support.RepositoryFactorySupport; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/PropertiesAutoTimer.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/PropertiesAutoTimer.java similarity index 85% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/PropertiesAutoTimer.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/PropertiesAutoTimer.java index 2cf3547550a..faeaad8e71d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/PropertiesAutoTimer.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/PropertiesAutoTimer.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data; +package org.springframework.boot.data.metrics.autoconfigure; import io.micrometer.core.instrument.Timer.Builder; -import org.springframework.boot.actuate.autoconfigure.metrics.data.DataMetricsProperties.Repository.Autotime; -import org.springframework.boot.actuate.metrics.data.AutoTimer; +import org.springframework.boot.data.metrics.AutoTimer; +import org.springframework.boot.data.metrics.autoconfigure.DataMetricsProperties.Repository.Autotime; /** * {@link AutoTimer} whose behavior is configured by {@link Autotime} properties. diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfiguration.java similarity index 76% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfiguration.java index ab76d0ab799..09ed639ebf1 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfiguration.java @@ -14,24 +14,21 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data; +package org.springframework.boot.data.metrics.autoconfigure; import io.micrometer.core.instrument.MeterRegistry; import org.springframework.beans.factory.ObjectProvider; -import org.springframework.boot.actuate.autoconfigure.metrics.data.DataMetricsProperties.Repository; -import org.springframework.boot.actuate.metrics.data.DefaultRepositoryTagsProvider; -import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener; -import org.springframework.boot.actuate.metrics.data.RepositoryTagsProvider; 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.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration; -import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration; -import org.springframework.boot.metrics.autoconfigure.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.data.metrics.DefaultRepositoryTagsProvider; +import org.springframework.boot.data.metrics.MetricsRepositoryMethodInvocationListener; +import org.springframework.boot.data.metrics.RepositoryTagsProvider; +import org.springframework.boot.data.metrics.autoconfigure.DataMetricsProperties.Repository; import org.springframework.context.annotation.Bean; import org.springframework.util.function.SingletonSupplier; @@ -39,10 +36,12 @@ import org.springframework.util.function.SingletonSupplier; * {@link EnableAutoConfiguration Auto-configuration} for Spring Data Repository metrics. * * @author Phillip Webb - * @since 2.5.0 + * @since 4.0.0 */ -@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class, - SimpleMetricsExportAutoConfiguration.class }) +@AutoConfiguration( + afterName = { "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration", + "org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration", + "org.springframework.boot.metrics.autoconfigure.export.simple.SimpleMetricsExportAutoConfiguration" }) @ConditionalOnClass(org.springframework.data.repository.Repository.class) @ConditionalOnBean(MeterRegistry.class) @EnableConfigurationProperties(DataMetricsProperties.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/package-info.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/package-info.java similarity index 83% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/package-info.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/package-info.java index e6a041cb438..17334c70e76 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/package-info.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/autoconfigure/package-info.java @@ -15,6 +15,6 @@ */ /** - * Auto-configuration for Spring Data actuator metrics. + * Auto-configuration for Spring Data repository metrics. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data; +package org.springframework.boot.data.metrics.autoconfigure; diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/package-info.java b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/package-info.java similarity index 85% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/package-info.java rename to spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/package-info.java index 9c2618483db..e2369bbe0ed 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/data/package-info.java +++ b/spring-boot-project/spring-boot-data-commons/src/main/java/org/springframework/boot/data/metrics/package-info.java @@ -15,6 +15,6 @@ */ /** - * Actuator support for Spring Data Repository metrics. + * Spring Data repository metrics. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; diff --git a/spring-boot-project/spring-boot-data-commons/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-data-commons/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index c8b928f47c9..8b0ca8d7cf8 100644 --- a/spring-boot-project/spring-boot-data-commons/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-data-commons/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,2 @@ +org.springframework.boot.data.metrics.autoconfigure.RepositoryMetricsAutoConfiguration org.springframework.boot.data.web.autoconfigure.SpringDataWebAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/DefaultRepositoryTagsProviderTests.java b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/DefaultRepositoryTagsProviderTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/DefaultRepositoryTagsProviderTests.java rename to spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/DefaultRepositoryTagsProviderTests.java index c9c86315616..ef760887c13 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/DefaultRepositoryTagsProviderTests.java +++ b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/DefaultRepositoryTagsProviderTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; import java.io.IOException; import java.lang.reflect.Method; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/MetricsRepositoryMethodInvocationListenerTests.java b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/MetricsRepositoryMethodInvocationListenerTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/MetricsRepositoryMethodInvocationListenerTests.java rename to spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/MetricsRepositoryMethodInvocationListenerTests.java index 1ae7e4c661b..bef84137f83 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/MetricsRepositoryMethodInvocationListenerTests.java +++ b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/MetricsRepositoryMethodInvocationListenerTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; import java.lang.reflect.Method; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/TimedAnnotationsTests.java b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/TimedAnnotationsTests.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/TimedAnnotationsTests.java rename to spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/TimedAnnotationsTests.java index 00868dfd1cb..ad0252affe1 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/data/TimedAnnotationsTests.java +++ b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/TimedAnnotationsTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.data; +package org.springframework.boot.data.metrics; import java.lang.reflect.Method; import java.util.Set; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/MetricsRepositoryMethodInvocationListenerBeanPostProcessorTests.java b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/MetricsRepositoryMethodInvocationListenerBeanPostProcessorTests.java similarity index 94% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/MetricsRepositoryMethodInvocationListenerBeanPostProcessorTests.java rename to spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/MetricsRepositoryMethodInvocationListenerBeanPostProcessorTests.java index 9454a4d2adc..ab01734b9bb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/MetricsRepositoryMethodInvocationListenerBeanPostProcessorTests.java +++ b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/MetricsRepositoryMethodInvocationListenerBeanPostProcessorTests.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data; +package org.springframework.boot.data.metrics.autoconfigure; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; -import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener; +import org.springframework.boot.data.metrics.MetricsRepositoryMethodInvocationListener; import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport; import org.springframework.data.repository.core.support.RepositoryFactoryCustomizer; import org.springframework.data.repository.core.support.RepositoryFactorySupport; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfigurationIntegrationTests.java similarity index 91% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfigurationIntegrationTests.java rename to spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfigurationIntegrationTests.java index 95e270e6eff..0eb09feee84 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfigurationIntegrationTests.java @@ -14,19 +14,19 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data; +package org.springframework.boot.data.metrics.autoconfigure; import io.micrometer.core.instrument.Gauge; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.binder.MeterBinder; +import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.autoconfigure.metrics.data.city.CityRepository; -import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun; import org.springframework.boot.autoconfigure.AutoConfigurationPackage; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.data.jpa.autoconfigure.JpaRepositoriesAutoConfiguration; +import org.springframework.boot.data.metrics.autoconfigure.city.CityRepository; import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration; import org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -42,7 +42,8 @@ import static org.assertj.core.api.Assertions.assertThat; */ class RepositoryMetricsAutoConfigurationIntegrationTests { - private final ApplicationContextRunner contextRunner = new ApplicationContextRunner().with(MetricsRun.simple()) + private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() + .withBean(SimpleMeterRegistry.class) .withConfiguration( AutoConfigurations.of(HibernateJpaAutoConfiguration.class, JpaRepositoriesAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class, RepositoryMetricsAutoConfiguration.class)) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfigurationTests.java similarity index 91% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfigurationTests.java rename to spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfigurationTests.java index c3b25a8f214..de29a6641a2 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/RepositoryMetricsAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data; +package org.springframework.boot.data.metrics.autoconfigure; import java.util.Collection; import java.util.Collections; @@ -27,15 +27,16 @@ import io.micrometer.core.instrument.Tag; import io.micrometer.core.instrument.Timer; import io.micrometer.core.instrument.binder.MeterBinder; import io.micrometer.core.instrument.distribution.HistogramSnapshot; +import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.ObjectFactory; -import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun; -import org.springframework.boot.actuate.metrics.data.AutoTimer; -import org.springframework.boot.actuate.metrics.data.DefaultRepositoryTagsProvider; -import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener; -import org.springframework.boot.actuate.metrics.data.RepositoryTagsProvider; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.data.metrics.AutoTimer; +import org.springframework.boot.data.metrics.DefaultRepositoryTagsProvider; +import org.springframework.boot.data.metrics.MetricsRepositoryMethodInvocationListener; +import org.springframework.boot.data.metrics.RepositoryTagsProvider; +import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration; import org.springframework.boot.test.context.assertj.AssertableApplicationContext; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Bean; @@ -57,8 +58,11 @@ import static org.mockito.Mockito.mock; */ class RepositoryMetricsAutoConfigurationTests { - private final ApplicationContextRunner contextRunner = new ApplicationContextRunner().with(MetricsRun.simple()) - .withConfiguration(AutoConfigurations.of(RepositoryMetricsAutoConfiguration.class)); + private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() + .withBean(SimpleMeterRegistry.class) + .withConfiguration( + AutoConfigurations.of(MetricsAutoConfiguration.class, RepositoryMetricsAutoConfiguration.class)) + .withPropertyValues("management.metrics.use-global-registry=false"); @Test void backsOffWhenMeterRegistryIsMissing() { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/city/City.java b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/city/City.java similarity index 95% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/city/City.java rename to spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/city/City.java index a4327cc1564..5c15cd752f0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/city/City.java +++ b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/city/City.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data.city; +package org.springframework.boot.data.metrics.autoconfigure.city; import java.io.Serializable; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/city/CityRepository.java b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/city/CityRepository.java similarity index 93% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/city/CityRepository.java rename to spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/city/CityRepository.java index 6a5765db557..66eeafa8e8d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/data/city/CityRepository.java +++ b/spring-boot-project/spring-boot-data-commons/src/test/java/org/springframework/boot/data/metrics/autoconfigure/city/CityRepository.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.data.city; +package org.springframework.boot.data.metrics.autoconfigure.city; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable;