Browse Source

Merge branch '4.0.x'

Closes gh-48584
pull/48596/head
Moritz Halbritter 1 month ago
parent
commit
bc054066d5
  1. 7
      module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcObservationAutoConfiguration.java
  2. 16
      module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/WebMvcObservationAutoConfigurationTests.java

7
module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcObservationAutoConfiguration.java

@ -58,9 +58,9 @@ import org.springframework.web.servlet.DispatcherServlet; @@ -58,9 +58,9 @@ import org.springframework.web.servlet.DispatcherServlet;
"org.springframework.boot.micrometer.metrics.autoconfigure.export.simple.SimpleMetricsExportAutoConfiguration",
"org.springframework.boot.micrometer.observation.autoconfigure.ObservationAutoConfiguration" })
@ConditionalOnWebApplication(type = Type.SERVLET)
@ConditionalOnClass({ DispatcherServlet.class, Observation.class })
@ConditionalOnClass({ DispatcherServlet.class, Observation.class, ObservationProperties.class })
@ConditionalOnBean(ObservationRegistry.class)
@EnableConfigurationProperties({ MetricsProperties.class, ObservationProperties.class })
@EnableConfigurationProperties(ObservationProperties.class)
public final class WebMvcObservationAutoConfiguration {
@Bean
@ -79,8 +79,9 @@ public final class WebMvcObservationAutoConfiguration { @@ -79,8 +79,9 @@ public final class WebMvcObservationAutoConfiguration {
}
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(MeterRegistry.class)
@ConditionalOnClass({ MeterRegistry.class, MetricsProperties.class })
@ConditionalOnBean(MeterRegistry.class)
@EnableConfigurationProperties(MetricsProperties.class)
static class MeterFilterConfiguration {
@Bean

16
module/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/autoconfigure/WebMvcObservationAutoConfigurationTests.java

@ -31,8 +31,12 @@ import org.junit.jupiter.api.Test; @@ -31,8 +31,12 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.micrometer.metrics.MaximumAllowableTagsMeterFilter;
import org.springframework.boot.micrometer.metrics.autoconfigure.MetricsAutoConfiguration;
import org.springframework.boot.micrometer.metrics.autoconfigure.MetricsProperties;
import org.springframework.boot.micrometer.observation.autoconfigure.ObservationAutoConfiguration;
import org.springframework.boot.micrometer.observation.autoconfigure.ObservationProperties;
import org.springframework.boot.test.context.FilteredClassLoader;
import org.springframework.boot.test.context.assertj.AssertableWebApplicationContext;
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
import org.springframework.boot.test.system.CapturedOutput;
@ -74,6 +78,12 @@ class WebMvcObservationAutoConfigurationTests { @@ -74,6 +78,12 @@ class WebMvcObservationAutoConfigurationTests {
.run((context) -> assertThat(context).doesNotHaveBean(FilterRegistrationBean.class));
}
@Test
void backsOffWhenObservationPropertiesIsMissing() {
this.contextRunner.withClassLoader(new FilteredClassLoader(ObservationProperties.class))
.run((context) -> assertThat(context).doesNotHaveBean(FilterRegistrationBean.class));
}
@Test
void definesFilterWhenRegistryIsPresent() {
this.contextRunner.run((context) -> {
@ -171,6 +181,12 @@ class WebMvcObservationAutoConfigurationTests { @@ -171,6 +181,12 @@ class WebMvcObservationAutoConfigurationTests {
});
}
@Test
void shouldBackOffIfMetricsPropertiesIsNotPresent() {
this.contextRunner.withClassLoader(new FilteredClassLoader(MetricsProperties.class))
.run((context) -> assertThat(context).doesNotHaveBean(MaximumAllowableTagsMeterFilter.class));
}
private MeterRegistry getInitializedMeterRegistry(AssertableWebApplicationContext context) {
return getInitializedMeterRegistry(context, "/test0", "/test1", "/test2");
}

Loading…
Cancel
Save