|
16 | 16 |
|
17 | 17 | package org.springframework.cloud.sleuth.autoconfig.zipkin2; |
18 | 18 |
|
19 | | -import java.net.URI; |
20 | | - |
21 | 19 | import zipkin2.reporter.Sender; |
22 | 20 |
|
23 | 21 | import org.springframework.beans.factory.annotation.Autowired; |
|
30 | 28 | import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; |
31 | 29 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
32 | 30 | import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; |
| 31 | +import org.springframework.cloud.client.loadbalancer.reactive.LoadBalancedExchangeFilterFunction; |
33 | 32 | import org.springframework.cloud.sleuth.zipkin2.CachingZipkinUrlExtractor; |
34 | 33 | import org.springframework.cloud.sleuth.zipkin2.LoadBalancerClientZipkinLoadBalancer; |
35 | 34 | import org.springframework.cloud.sleuth.zipkin2.RestTemplateSender; |
|
45 | 44 | import org.springframework.context.annotation.Bean; |
46 | 45 | import org.springframework.context.annotation.Conditional; |
47 | 46 | import org.springframework.context.annotation.Configuration; |
| 47 | +import org.springframework.lang.Nullable; |
48 | 48 | import org.springframework.web.client.RestTemplate; |
49 | 49 | import org.springframework.web.reactive.function.client.WebClient; |
50 | 50 |
|
@@ -84,17 +84,19 @@ ZipkinUrlExtractor defaultZipkinUrlExtractor(final ZipkinLoadBalancer zipkinLoad |
84 | 84 | static class ZipkinReactiveConfiguration { |
85 | 85 |
|
86 | 86 | @Bean(ZipkinAutoConfiguration.SENDER_BEAN_NAME) |
87 | | - Sender webClientSender(ZipkinProperties zipkin, ZipkinWebClientBuilderProvider zipkinWebClientBuilderProvider, |
88 | | - ZipkinUrlExtractor zipkinUrlExtractor) { |
| 87 | + Sender webClientSender(ZipkinProperties zipkin, ZipkinWebClientBuilderProvider zipkinWebClientBuilderProvider) { |
89 | 88 | WebClient.Builder webClientBuilder = zipkinWebClientBuilderProvider.zipkinWebClientBuilder(); |
90 | | - URI uri = zipkinUrlExtractor.zipkinUrl(zipkin); |
91 | | - return new WebClientSender(webClientBuilder.build(), uri.toString(), zipkin.getApiPath(), |
| 89 | + return new WebClientSender(webClientBuilder.build(), zipkin.getBaseUrl(), zipkin.getApiPath(), |
92 | 90 | zipkin.getEncoder(), zipkin.getCheckTimeout()); |
93 | 91 | } |
94 | 92 |
|
95 | 93 | @Bean |
96 | 94 | @ConditionalOnMissingBean |
97 | | - ZipkinWebClientBuilderProvider defaultZipkinWebClientProvider() { |
| 95 | + ZipkinWebClientBuilderProvider defaultZipkinWebClientProvider( |
| 96 | + final @Nullable LoadBalancedExchangeFilterFunction filterFunction) { |
| 97 | + if (filterFunction != null) { |
| 98 | + return () -> WebClient.builder().filter(filterFunction); |
| 99 | + } |
98 | 100 | return WebClient::builder; |
99 | 101 | } |
100 | 102 |
|
|
0 commit comments