|
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