Skip to content

Commit 9c6b51f

Browse files
committed
Move MongoDB metrics auto-configuration into spring-boot-mongodb
1 parent 7332784 commit 9c6b51f

File tree

7 files changed

+20
-23
lines changed

7 files changed

+20
-23
lines changed

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ dependencies {
4242
optional(project(":spring-boot-project:spring-boot-jsonb"))
4343
optional(project(":spring-boot-project:spring-boot-kafka"))
4444
optional(project(":spring-boot-project:spring-boot-metrics"))
45-
optional(project(":spring-boot-project:spring-boot-mongodb"))
4645
optional(project(":spring-boot-project:spring-boot-r2dbc"))
4746
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
4847
optional(project(":spring-boot-project:spring-boot-restclient"))
@@ -132,7 +131,6 @@ dependencies {
132131
optional("org.springframework.batch:spring-batch-core")
133132
optional("org.springframework.data:spring-data-couchbase")
134133
optional("org.springframework.data:spring-data-jpa")
135-
optional("org.springframework.data:spring-data-mongodb")
136134
optional("org.springframework.data:spring-data-redis")
137135
optional("org.springframework.graphql:spring-graphql")
138136
optional("org.springframework.kafka:spring-kafka")

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
@@ -42,7 +42,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.Stackd
4242
org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration
4343
org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration
4444
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration
45-
org.springframework.boot.actuate.autoconfigure.metrics.mongo.MongoMetricsAutoConfiguration
4645
org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration
4746
org.springframework.boot.actuate.autoconfigure.metrics.r2dbc.ConnectionPoolMetricsAutoConfiguration
4847
org.springframework.boot.actuate.autoconfigure.metrics.redis.LettuceMetricsAutoConfiguration

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ dependencies {
1313
api(project(":spring-boot-project:spring-boot"))
1414
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
1515
optional(project(":spring-boot-project:spring-boot-docker-compose"))
16+
optional(project(":spring-boot-project:spring-boot-metrics"))
1617
optional(project(":spring-boot-project:spring-boot-reactor"))
1718
optional(project(":spring-boot-project:spring-boot-testcontainers"))
1819
optional("io.netty:netty-transport")

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/MongoMetricsAutoConfiguration.java renamed to spring-boot-project/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/actuate/metrics/autoconfigure/MongoMetricsAutoConfiguration.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.mongo;
17+
package org.springframework.boot.mongodb.actuate.metrics.autoconfigure;
1818

1919
import com.mongodb.MongoClientSettings;
2020
import io.micrometer.core.instrument.MeterRegistry;
@@ -31,8 +31,6 @@
3131
import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProperty;
3232
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3333
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
34-
import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
35-
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
3634
import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration;
3735
import org.springframework.boot.mongodb.autoconfigure.MongoClientSettingsBuilderCustomizer;
3836
import org.springframework.context.annotation.Bean;
@@ -42,11 +40,11 @@
4240
*
4341
* @author Chris Bono
4442
* @author Jonatan Ivanov
45-
* @since 2.5.0
43+
* @since 4.0.0
4644
*/
4745
@AutoConfiguration(before = MongoAutoConfiguration.class,
48-
after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class })
49-
@ConditionalOnClass(MongoClientSettings.class)
46+
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration")
47+
@ConditionalOnClass({ MongoClientSettings.class, MeterRegistry.class })
5048
@ConditionalOnBean(MeterRegistry.class)
5149
public class MongoMetricsAutoConfiguration {
5250

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/package-info.java renamed to spring-boot-project/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/actuate/metrics/autoconfigure/package-info.java

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 Mongo metrics.
18+
* Auto-configuration for MongoDB metrics.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.metrics.mongo;
20+
package org.springframework.boot.mongodb.actuate.metrics.autoconfigure;
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
org.springframework.boot.mongodb.actuate.metrics.autoconfigure.MongoMetricsAutoConfiguration
12
org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration
23
org.springframework.boot.mongodb.autoconfigure.MongoReactiveAutoConfiguration

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/MongoMetricsAutoConfigurationTests.java renamed to spring-boot-project/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/actuate/metrics/autoconfigure/MongoMetricsAutoConfigurationTests.java

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

1919
import java.util.List;
2020

@@ -29,10 +29,10 @@
2929
import io.micrometer.core.instrument.binder.mongodb.MongoConnectionPoolTagsProvider;
3030
import io.micrometer.core.instrument.binder.mongodb.MongoMetricsCommandListener;
3131
import io.micrometer.core.instrument.binder.mongodb.MongoMetricsConnectionPoolListener;
32+
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
3233
import org.assertj.core.api.InstanceOfAssertFactories;
3334
import org.junit.jupiter.api.Test;
3435

35-
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
3636
import org.springframework.boot.autoconfigure.AutoConfigurations;
3737
import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration;
3838
import org.springframework.boot.test.context.FilteredClassLoader;
@@ -57,7 +57,7 @@ class MongoMetricsAutoConfigurationTests {
5757

5858
@Test
5959
void whenThereIsAMeterRegistryThenMetricsCommandListenerIsAdded() {
60-
this.contextRunner.with(MetricsRun.simple())
60+
this.contextRunner.withBean(SimpleMeterRegistry.class)
6161
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
6262
.run((context) -> {
6363
assertThat(context).hasSingleBean(MongoMetricsCommandListener.class);
@@ -72,7 +72,7 @@ void whenThereIsAMeterRegistryThenMetricsCommandListenerIsAdded() {
7272

7373
@Test
7474
void whenThereIsAMeterRegistryThenMetricsConnectionPoolListenerIsAdded() {
75-
this.contextRunner.with(MetricsRun.simple())
75+
this.contextRunner.withBean(SimpleMeterRegistry.class)
7676
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
7777
.run((context) -> {
7878
assertThat(context).hasSingleBean(MongoMetricsConnectionPoolListener.class);
@@ -98,7 +98,7 @@ void whenThereIsNoMeterRegistryThenNoMetricsConnectionPoolListenerIsAdded() {
9898
@Test
9999
void whenThereIsACustomMetricsCommandTagsProviderItIsUsed() {
100100
final MongoCommandTagsProvider customTagsProvider = mock(MongoCommandTagsProvider.class);
101-
this.contextRunner.with(MetricsRun.simple())
101+
this.contextRunner.withBean(SimpleMeterRegistry.class)
102102
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
103103
.withBean("customMongoCommandTagsProvider", MongoCommandTagsProvider.class, () -> customTagsProvider)
104104
.run((context) -> assertThat(getMongoCommandTagsProviderUsedToConstructListener(context))
@@ -108,7 +108,7 @@ void whenThereIsACustomMetricsCommandTagsProviderItIsUsed() {
108108
@Test
109109
void whenThereIsACustomMetricsConnectionPoolTagsProviderItIsUsed() {
110110
final MongoConnectionPoolTagsProvider customTagsProvider = mock(MongoConnectionPoolTagsProvider.class);
111-
this.contextRunner.with(MetricsRun.simple())
111+
this.contextRunner.withBean(SimpleMeterRegistry.class)
112112
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
113113
.withBean("customMongoConnectionPoolTagsProvider", MongoConnectionPoolTagsProvider.class,
114114
() -> customTagsProvider)
@@ -118,47 +118,47 @@ void whenThereIsACustomMetricsConnectionPoolTagsProviderItIsUsed() {
118118

119119
@Test
120120
void whenThereIsNoMongoClientSettingsOnClasspathThenNoMetricsCommandListenerIsAdded() {
121-
this.contextRunner.with(MetricsRun.simple())
121+
this.contextRunner.withBean(SimpleMeterRegistry.class)
122122
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
123123
.withClassLoader(new FilteredClassLoader(MongoClientSettings.class))
124124
.run(assertThatMetricsCommandListenerNotAdded());
125125
}
126126

127127
@Test
128128
void whenThereIsNoMongoClientSettingsOnClasspathThenNoMetricsConnectionPoolListenerIsAdded() {
129-
this.contextRunner.with(MetricsRun.simple())
129+
this.contextRunner.withBean(SimpleMeterRegistry.class)
130130
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
131131
.withClassLoader(new FilteredClassLoader(MongoClientSettings.class))
132132
.run(assertThatMetricsConnectionPoolListenerNotAdded());
133133
}
134134

135135
@Test
136136
void whenThereIsNoMongoMetricsCommandListenerOnClasspathThenNoMetricsCommandListenerIsAdded() {
137-
this.contextRunner.with(MetricsRun.simple())
137+
this.contextRunner.withBean(SimpleMeterRegistry.class)
138138
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
139139
.withClassLoader(new FilteredClassLoader(MongoMetricsCommandListener.class))
140140
.run(assertThatMetricsCommandListenerNotAdded());
141141
}
142142

143143
@Test
144144
void whenThereIsNoMongoMetricsConnectionPoolListenerOnClasspathThenNoMetricsConnectionPoolListenerIsAdded() {
145-
this.contextRunner.with(MetricsRun.simple())
145+
this.contextRunner.withBean(SimpleMeterRegistry.class)
146146
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
147147
.withClassLoader(new FilteredClassLoader(MongoMetricsConnectionPoolListener.class))
148148
.run(assertThatMetricsConnectionPoolListenerNotAdded());
149149
}
150150

151151
@Test
152152
void whenMetricsCommandListenerEnabledPropertyFalseThenNoMetricsCommandListenerIsAdded() {
153-
this.contextRunner.with(MetricsRun.simple())
153+
this.contextRunner.withBean(SimpleMeterRegistry.class)
154154
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
155155
.withPropertyValues("management.metrics.mongo.command.enabled:false")
156156
.run(assertThatMetricsCommandListenerNotAdded());
157157
}
158158

159159
@Test
160160
void whenMetricsConnectionPoolListenerEnabledPropertyFalseThenNoMetricsConnectionPoolListenerIsAdded() {
161-
this.contextRunner.with(MetricsRun.simple())
161+
this.contextRunner.withBean(SimpleMeterRegistry.class)
162162
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class))
163163
.withPropertyValues("management.metrics.mongo.connectionpool.enabled:false")
164164
.run(assertThatMetricsConnectionPoolListenerNotAdded());

0 commit comments

Comments
 (0)