Skip to content

Commit 07fc986

Browse files
committed
Move Spring Data repository metrics into spring-boot-data-commons
1 parent 9188518 commit 07fc986

24 files changed

+52
-50
lines changed

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ dependencies {
9494
optional("org.springframework:spring-messaging")
9595
optional("org.springframework:spring-webflux")
9696
optional("org.springframework:spring-webmvc")
97-
optional("org.springframework.data:spring-data-couchbase")
98-
optional("org.springframework.data:spring-data-jpa")
9997
optional("org.springframework.kafka:spring-kafka")
10098
optional("org.springframework.security:spring-security-config")
10199
optional("org.springframework.security:spring-security-web")
@@ -126,7 +124,6 @@ dependencies {
126124
testImplementation("org.glassfish.jersey.media:jersey-media-json-jackson")
127125
testImplementation("org.hsqldb:hsqldb")
128126
testImplementation("org.springframework:spring-orm")
129-
testImplementation("org.springframework.data:spring-data-rest-webmvc")
130127
testImplementation("org.springframework.security:spring-security-test")
131128
testImplementation("org.yaml:snakeyaml")
132129

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
@@ -13,7 +13,6 @@ org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfi
1313
org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration
1414
org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration
1515
org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration
16-
org.springframework.boot.actuate.autoconfigure.metrics.data.RepositoryMetricsAutoConfiguration
1716
org.springframework.boot.actuate.autoconfigure.observability.ObservabilityAutoConfiguration
1817
org.springframework.boot.actuate.autoconfigure.sbom.SbomEndpointAutoConfiguration
1918
org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ dependencies {
3939
optional("org.springframework:spring-messaging")
4040
optional("org.springframework:spring-webflux")
4141
optional("org.springframework.graphql:spring-graphql")
42-
optional("org.springframework.data:spring-data-rest-webmvc")
4342
optional("org.springframework.security:spring-security-core")
4443
optional("org.springframework.security:spring-security-web")
4544

spring-boot-project/spring-boot-data-commons/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ dependencies {
1313
api("org.springframework.data:spring-data-commons")
1414

1515
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
16+
optional(project(":spring-boot-project:spring-boot-metrics"))
1617

1718
testImplementation(project(":spring-boot-project:spring-boot-data-jpa"))
1819
testImplementation(project(":spring-boot-project:spring-boot-test"))
Lines changed: 2 additions & 2 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.metrics.data;
17+
package org.springframework.boot.data.metrics;
1818

1919
import java.util.Set;
2020
import java.util.function.Consumer;
@@ -33,7 +33,7 @@
3333
* @author Tadaya Tsuyukubo
3434
* @author Stephane Nicoll
3535
* @author Phillip Webb
36-
* @since 2.2.0
36+
* @since 4.0.0
3737
*/
3838
@FunctionalInterface
3939
public interface AutoTimer {
Lines changed: 2 additions & 2 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.metrics.data;
17+
package org.springframework.boot.data.metrics;
1818

1919
import java.lang.reflect.Method;
2020
import java.util.function.Function;
@@ -30,7 +30,7 @@
3030
* Default {@link RepositoryTagsProvider} implementation.
3131
*
3232
* @author Phillip Webb
33-
* @since 2.5.0
33+
* @since 4.0.0
3434
*/
3535
public class DefaultRepositoryTagsProvider implements RepositoryTagsProvider {
3636

Lines changed: 2 additions & 2 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.metrics.data;
17+
package org.springframework.boot.data.metrics;
1818

1919
import java.util.Set;
2020
import java.util.concurrent.TimeUnit;
@@ -32,7 +32,7 @@
3232
* execution time and results.
3333
*
3434
* @author Phillip Webb
35-
* @since 2.5.0
35+
* @since 4.0.0
3636
*/
3737
public class MetricsRepositoryMethodInvocationListener implements RepositoryMethodInvocationListener {
3838

Lines changed: 2 additions & 2 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.metrics.data;
17+
package org.springframework.boot.data.metrics;
1818

1919
import io.micrometer.core.instrument.Tag;
2020

@@ -25,7 +25,7 @@
2525
* invocations}.
2626
*
2727
* @author Phillip Webb
28-
* @since 2.5.0
28+
* @since 4.0.0
2929
*/
3030
@FunctionalInterface
3131
public interface RepositoryTagsProvider {
Lines changed: 2 additions & 2 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.metrics.data;
17+
package org.springframework.boot.data.metrics;
1818

1919
import java.lang.reflect.AnnotatedElement;
2020
import java.lang.reflect.Method;
@@ -32,7 +32,7 @@
3232
* Utility used to obtain {@link Timed @Timed} annotations from bean methods.
3333
*
3434
* @author Phillip Webb
35-
* @since 2.5.0
35+
* @since 4.0.0
3636
*/
3737
public final class TimedAnnotations {
3838

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.metrics.data;
17+
package org.springframework.boot.data.metrics.autoconfigure;
1818

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.metrics.data;
17+
package org.springframework.boot.data.metrics.autoconfigure;
1818

1919
import org.springframework.beans.BeansException;
2020
import org.springframework.beans.factory.config.BeanPostProcessor;
21-
import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener;
21+
import org.springframework.boot.data.metrics.MetricsRepositoryMethodInvocationListener;
2222
import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport;
2323
import org.springframework.data.repository.core.support.RepositoryFactoryCustomizer;
2424
import org.springframework.data.repository.core.support.RepositoryFactorySupport;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.metrics.data;
17+
package org.springframework.boot.data.metrics.autoconfigure;
1818

1919
import io.micrometer.core.instrument.Timer.Builder;
2020

21-
import org.springframework.boot.actuate.autoconfigure.metrics.data.DataMetricsProperties.Repository.Autotime;
22-
import org.springframework.boot.actuate.metrics.data.AutoTimer;
21+
import org.springframework.boot.data.metrics.AutoTimer;
22+
import org.springframework.boot.data.metrics.autoconfigure.DataMetricsProperties.Repository.Autotime;
2323

2424
/**
2525
* {@link AutoTimer} whose behavior is configured by {@link Autotime} properties.
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.metrics.data;
17+
package org.springframework.boot.data.metrics.autoconfigure;
1818

1919
import io.micrometer.core.instrument.MeterRegistry;
2020

2121
import org.springframework.beans.factory.ObjectProvider;
22-
import org.springframework.boot.actuate.autoconfigure.metrics.data.DataMetricsProperties.Repository;
23-
import org.springframework.boot.actuate.metrics.data.DefaultRepositoryTagsProvider;
24-
import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener;
25-
import org.springframework.boot.actuate.metrics.data.RepositoryTagsProvider;
2622
import org.springframework.boot.autoconfigure.AutoConfiguration;
2723
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2824
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2925
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3026
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
3127
import org.springframework.boot.context.properties.EnableConfigurationProperties;
28+
import org.springframework.boot.data.metrics.DefaultRepositoryTagsProvider;
29+
import org.springframework.boot.data.metrics.MetricsRepositoryMethodInvocationListener;
30+
import org.springframework.boot.data.metrics.RepositoryTagsProvider;
31+
import org.springframework.boot.data.metrics.autoconfigure.DataMetricsProperties.Repository;
3232
import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
3333
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
3434
import org.springframework.boot.metrics.autoconfigure.export.simple.SimpleMetricsExportAutoConfiguration;
@@ -39,7 +39,7 @@
3939
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data Repository metrics.
4040
*
4141
* @author Phillip Webb
42-
* @since 2.5.0
42+
* @since 4.0.0
4343
*/
4444
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
4545
SimpleMetricsExportAutoConfiguration.class })
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 Spring Data actuator metrics.
18+
* Auto-configuration for Spring Data repository metrics.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.metrics.data;
20+
package org.springframework.boot.data.metrics.autoconfigure;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
*/
1616

1717
/**
18-
* Actuator support for Spring Data Repository metrics.
18+
* Spring Data repository metrics.
1919
*/
20-
package org.springframework.boot.actuate.metrics.data;
20+
package org.springframework.boot.data.metrics;
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
org.springframework.boot.data.metrics.autoconfigure.RepositoryMetricsAutoConfiguration
12
org.springframework.boot.data.web.autoconfigure.SpringDataWebAutoConfiguration
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.metrics.data;
17+
package org.springframework.boot.data.metrics;
1818

1919
import java.io.IOException;
2020
import java.lang.reflect.Method;
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.metrics.data;
17+
package org.springframework.boot.data.metrics;
1818

1919
import java.lang.reflect.Method;
2020

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.metrics.data;
17+
package org.springframework.boot.data.metrics;
1818

1919
import java.lang.reflect.Method;
2020
import java.util.Set;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.metrics.data;
17+
package org.springframework.boot.data.metrics.autoconfigure;
1818

1919
import org.junit.jupiter.api.Test;
2020
import org.mockito.ArgumentCaptor;
2121

22-
import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener;
22+
import org.springframework.boot.data.metrics.MetricsRepositoryMethodInvocationListener;
2323
import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport;
2424
import org.springframework.data.repository.core.support.RepositoryFactoryCustomizer;
2525
import org.springframework.data.repository.core.support.RepositoryFactorySupport;
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.metrics.data;
17+
package org.springframework.boot.data.metrics.autoconfigure;
1818

1919
import io.micrometer.core.instrument.Gauge;
2020
import io.micrometer.core.instrument.MeterRegistry;
2121
import io.micrometer.core.instrument.binder.MeterBinder;
22+
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
2223
import org.junit.jupiter.api.Test;
2324

24-
import org.springframework.boot.actuate.autoconfigure.metrics.data.city.CityRepository;
25-
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
2625
import org.springframework.boot.autoconfigure.AutoConfigurationPackage;
2726
import org.springframework.boot.autoconfigure.AutoConfigurations;
2827
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
2928
import org.springframework.boot.data.jpa.autoconfigure.JpaRepositoriesAutoConfiguration;
29+
import org.springframework.boot.data.metrics.autoconfigure.city.CityRepository;
3030
import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration;
3131
import org.springframework.boot.jpa.autoconfigure.hibernate.HibernateJpaAutoConfiguration;
3232
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
@@ -42,7 +42,8 @@
4242
*/
4343
class RepositoryMetricsAutoConfigurationIntegrationTests {
4444

45-
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner().with(MetricsRun.simple())
45+
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
46+
.withBean(SimpleMeterRegistry.class)
4647
.withConfiguration(
4748
AutoConfigurations.of(HibernateJpaAutoConfiguration.class, JpaRepositoriesAutoConfiguration.class,
4849
PropertyPlaceholderAutoConfiguration.class, RepositoryMetricsAutoConfiguration.class))
Lines changed: 12 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.data;
17+
package org.springframework.boot.data.metrics.autoconfigure;
1818

1919
import java.util.Collection;
2020
import java.util.Collections;
@@ -27,15 +27,16 @@
2727
import io.micrometer.core.instrument.Timer;
2828
import io.micrometer.core.instrument.binder.MeterBinder;
2929
import io.micrometer.core.instrument.distribution.HistogramSnapshot;
30+
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
3031
import org.junit.jupiter.api.Test;
3132

3233
import org.springframework.beans.factory.ObjectFactory;
33-
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
34-
import org.springframework.boot.actuate.metrics.data.AutoTimer;
35-
import org.springframework.boot.actuate.metrics.data.DefaultRepositoryTagsProvider;
36-
import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener;
37-
import org.springframework.boot.actuate.metrics.data.RepositoryTagsProvider;
3834
import org.springframework.boot.autoconfigure.AutoConfigurations;
35+
import org.springframework.boot.data.metrics.AutoTimer;
36+
import org.springframework.boot.data.metrics.DefaultRepositoryTagsProvider;
37+
import org.springframework.boot.data.metrics.MetricsRepositoryMethodInvocationListener;
38+
import org.springframework.boot.data.metrics.RepositoryTagsProvider;
39+
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
3940
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
4041
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
4142
import org.springframework.context.annotation.Bean;
@@ -57,8 +58,11 @@
5758
*/
5859
class RepositoryMetricsAutoConfigurationTests {
5960

60-
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner().with(MetricsRun.simple())
61-
.withConfiguration(AutoConfigurations.of(RepositoryMetricsAutoConfiguration.class));
61+
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
62+
.withBean(SimpleMeterRegistry.class)
63+
.withConfiguration(
64+
AutoConfigurations.of(MetricsAutoConfiguration.class, RepositoryMetricsAutoConfiguration.class))
65+
.withPropertyValues("management.metrics.use-global-registry=false");
6266

6367
@Test
6468
void backsOffWhenMeterRegistryIsMissing() {
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.metrics.data.city;
17+
package org.springframework.boot.data.metrics.autoconfigure.city;
1818

1919
import java.io.Serializable;
2020

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.metrics.data.city;
17+
package org.springframework.boot.data.metrics.autoconfigure.city;
1818

1919
import org.springframework.data.domain.Page;
2020
import org.springframework.data.domain.Pageable;

0 commit comments

Comments
 (0)