From f29349d7ee19fcd145cbe3ee3513a1f0953ced31 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Tue, 14 Nov 2017 15:57:52 +0100 Subject: [PATCH] Added WebClient.Builder support; fixes #779 --- .../web/client/TraceWebClientBeanPostProcessor.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java index befd13276..d996e4c64 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java @@ -1,7 +1,5 @@ package org.springframework.cloud.sleuth.instrument.web.client; -import reactor.core.publisher.Mono; - import java.net.URI; import java.util.AbstractMap; import java.util.Iterator; @@ -27,6 +25,7 @@ import org.springframework.web.reactive.function.client.ClientResponse; import org.springframework.web.reactive.function.client.ExchangeFilterFunction; import org.springframework.web.reactive.function.client.ExchangeFunction; import org.springframework.web.reactive.function.client.WebClient; +import reactor.core.publisher.Mono; /** * {@link BeanPostProcessor} to wrap a {@link WebClient} instance into @@ -56,6 +55,9 @@ class TraceWebClientBeanPostProcessor implements BeanPostProcessor { .mutate() .filter(new TraceExchangeFilterFunction(this.beanFactory)) .build(); + } else if (bean instanceof WebClient.Builder) { + WebClient.Builder webClientBuilder = (WebClient.Builder) bean; + return webClientBuilder.filter(new TraceExchangeFilterFunction(this.beanFactory)); } return bean; }