Moves ConditionalOnClass to static class

This commit is contained in:
spencergibb
2022-11-28 12:43:22 -05:00
parent 5fb3790dab
commit 62f9d76127
2 changed files with 5 additions and 7 deletions

View File

@@ -238,19 +238,18 @@ public class FeignClientsConfiguration {
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name = "spring.cloud.openfeign.micrometer.enabled", matchIfMissing = true)
@ConditionalOnClass({ MicrometerObservationCapability.class, MicrometerCapability.class, MeterRegistry.class })
@Conditional(FeignClientMicrometerEnabledCondition.class)
protected static class MicrometerConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnClass(name = "feign.micrometer.MicrometerObservationCapability")
@ConditionalOnBean(type = "io.micrometer.observation.ObservationRegistry")
public MicrometerObservationCapability micrometerObservationCapability(ObservationRegistry registry) {
return new MicrometerObservationCapability(registry);
}
@Bean
@ConditionalOnClass(name = "feign.micrometer.MicrometerCapability")
@ConditionalOnBean(type = "io.micrometer.core.instrument.MeterRegistry")
@ConditionalOnMissingBean({ MicrometerCapability.class, MicrometerObservationCapability.class })
public MicrometerCapability micrometerCapability(MeterRegistry registry) {

View File

@@ -63,15 +63,14 @@ class FeignClientsMicrometerAutoConfigurationTests {
}
@Test
void shouldProvideMicrometerCapabilityIfMicrometerObservationCapabilityIsNotOnClasspath() {
contextRunner.withClassLoader(new FilteredClassLoader(MicrometerObservationCapability.class))
.run(context -> assertThat(context).doesNotHaveBean(MicrometerObservationCapability.class)
.hasSingleBean(MicrometerCapability.class));
void shouldNotProvideMicrometerCapabilitiesIfFeignMicrometerSupportIsMissing() {
contextRunner.withClassLoader(new FilteredClassLoader("feign.micrometer")).run(context -> assertThat(context)
.doesNotHaveBean(MicrometerObservationCapability.class).doesNotHaveBean(MicrometerCapability.class));
}
@Test
void shouldNotProvideMicrometerCapabilitiesIfMicrometerSupportIsMissing() {
contextRunner.withClassLoader(new FilteredClassLoader("feign.micrometer")).run(context -> assertThat(context)
contextRunner.withClassLoader(new FilteredClassLoader("io.micrometer")).run(context -> assertThat(context)
.doesNotHaveBean(MicrometerObservationCapability.class).doesNotHaveBean(MicrometerCapability.class));
}