From 71c65fad4a29aa8a5d00c8ed3084c7832c1ea64a Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 28 Sep 2022 14:41:58 +0200 Subject: [PATCH] FeignBuilderCustomizer instead of capabilities --- .../openfeign/FeignClientsConfiguration.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java index 27dd7ed5..519097bb 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java @@ -28,7 +28,9 @@ import feign.codec.Decoder; import feign.codec.Encoder; import feign.form.MultipartFormContentProcessor; import feign.form.spring.SpringFormEncoder; +import feign.micrometer.FeignObservationConvention; import feign.micrometer.MicrometerCapability; +import feign.micrometer.ObservedClientInterceptor; import feign.optionals.OptionalDecoder; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.observation.ObservationRegistry; @@ -244,10 +246,16 @@ public class FeignClientsConfiguration { @Bean @ConditionalOnMissingBean - public MicrometerCapability micrometerCapability(MeterRegistry meterRegistry, - ObjectProvider observationRegistry) { - return new MicrometerCapability(meterRegistry, - observationRegistry.getIfAvailable(() -> ObservationRegistry.NOOP)); + public MicrometerCapability micrometerCapability(MeterRegistry meterRegistry) { + return new MicrometerCapability(meterRegistry); + } + + @Bean + @ConditionalOnBean(ObservationRegistry.class) + public FeignBuilderCustomizer defaultClientInterceptorProvider(ObservationRegistry observationRegistry, + ObjectProvider feignObservationConvention) { + return builder -> builder.clientInterceptor( + new ObservedClientInterceptor(observationRegistry, feignObservationConvention.getIfAvailable())); } }