Commit 08b9d1da authored by Andy Wilkinson's avatar Andy Wilkinson

Polish "Ensure that MeterRegistry bean is defined before SI looks for it"

See gh-24095
parent 7d712aaa
...@@ -33,11 +33,10 @@ import org.springframework.context.annotation.Configuration; ...@@ -33,11 +33,10 @@ import org.springframework.context.annotation.Configuration;
* for it. * for it.
* *
* @author Andy Wilkinson * @author Andy Wilkinson
* @since 2.3.6
*/ */
@AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class })
@AutoConfigureBefore(IntegrationAutoConfiguration.class) @AutoConfigureBefore(IntegrationAutoConfiguration.class)
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
public class IntegrationMetricsAutoConfiguration { class IntegrationMetricsAutoConfiguration {
} }
...@@ -65,8 +65,8 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.signalfx.SignalFxM ...@@ -65,8 +65,8 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.signalfx.SignalFxM
org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.web.client.HttpClientMetricsAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.metrics.web.client.HttpClientMetricsAutoConfiguration,\
......
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
package org.springframework.boot.actuate.autoconfigure.metrics.integration; package org.springframework.boot.actuate.autoconfigure.metrics.integration;
import io.micrometer.core.instrument.Gauge;
import io.micrometer.core.instrument.MeterRegistry;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration;
...@@ -26,35 +27,25 @@ import org.springframework.boot.autoconfigure.AutoConfigurations; ...@@ -26,35 +27,25 @@ import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration; import org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration;
import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import io.micrometer.core.instrument.Gauge;
import io.micrometer.core.instrument.MeterRegistry;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
/** /**
* Tests for {@link RabbitMetricsAutoConfiguration}. * Tests for {@link RabbitMetricsAutoConfiguration}.
* *
* @author Artem Bilan * @author Artem Bilan
* @since 2.3.6
*/ */
class IntegrationMetricsAutoConfigurationTests { class IntegrationMetricsAutoConfigurationTests {
private final ApplicationContextRunner contextRunner = private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(IntegrationAutoConfiguration.class,
.withConfiguration(AutoConfigurations.of( IntegrationGraphEndpointAutoConfiguration.class, IntegrationMetricsAutoConfiguration.class))
IntegrationAutoConfiguration.class, .with(MetricsRun.simple()).withPropertyValues("management.metrics.tags.someTag=someValue");
IntegrationGraphEndpointAutoConfiguration.class))
.with(MetricsRun.simple())
.withPropertyValues("management.metrics.tags.someTag=someValue");
@Test @Test
void integrationMetersAreInstrumented() { void integrationMetersAreInstrumented() {
this.contextRunner.run((context) -> { this.contextRunner.run((context) -> {
MeterRegistry registry = context.getBean(MeterRegistry.class); MeterRegistry registry = context.getBean(MeterRegistry.class);
Gauge gauge = Gauge gauge = registry.get("spring.integration.channels").tag("someTag", "someValue").gauge();
registry.get("spring.integration.channels")
.tag("someTag", "someValue")
.gauge();
assertThat(gauge).isNotNull().extracting(Gauge::value).isEqualTo(2.0); assertThat(gauge).isNotNull().extracting(Gauge::value).isEqualTo(2.0);
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment