31
31
import org .springframework .boot .autoconfigure .condition .ConditionalOnMissingClass ;
32
32
import org .springframework .boot .autoconfigure .condition .ConditionalOnProperty ;
33
33
import org .springframework .boot .context .properties .EnableConfigurationProperties ;
34
+ import org .springframework .boot .restclient .RestTemplateBuilder ;
34
35
import org .springframework .boot .restclient .autoconfigure .service .HttpClientServiceProperties ;
35
36
import org .springframework .cloud .client .ServiceInstance ;
36
37
import org .springframework .cloud .client .loadbalancer .reactive .ReactiveLoadBalancer ;
@@ -102,6 +103,19 @@ static LoadBalancerRestClientBuilderBeanPostProcessor<DeferringLoadBalancerInter
102
103
return new LoadBalancerRestClientBuilderBeanPostProcessor <>(loadBalancerInterceptorProvider , context );
103
104
}
104
105
106
+ }
107
+
108
+ @ Configuration (proxyBeanMethods = false )
109
+ @ ConditionalOnClass (RestTemplateBuilder .class )
110
+ static class DeferringLoadBalancerInterceptorRestTemplateBuilderConfig {
111
+
112
+ @ Bean
113
+ @ ConditionalOnMissingBean
114
+ public static DeferringLoadBalancerInterceptor deferringLoadBalancerInterceptor (
115
+ ObjectProvider <BlockingLoadBalancerInterceptor > loadBalancerInterceptorObjectProvider ) {
116
+ return new DeferringLoadBalancerInterceptor (loadBalancerInterceptorObjectProvider );
117
+ }
118
+
105
119
@ Bean
106
120
@ ConditionalOnBean (DeferringLoadBalancerInterceptor .class )
107
121
@ ConditionalOnMissingBean (LoadBalancerRestTemplateBuilderBeanPostProcessor .class )
@@ -111,6 +125,19 @@ static LoadBalancerRestTemplateBuilderBeanPostProcessor<DeferringLoadBalancerInt
111
125
return new LoadBalancerRestTemplateBuilderBeanPostProcessor <>(loadBalancerInterceptorProvider , context );
112
126
}
113
127
128
+ }
129
+
130
+ @ Configuration (proxyBeanMethods = false )
131
+ @ ConditionalOnClass (HttpClientServiceProperties .class )
132
+ static class DeferringLoadBalancerInterceptorHttpClientConfig {
133
+
134
+ @ Bean
135
+ @ ConditionalOnMissingBean
136
+ public static DeferringLoadBalancerInterceptor deferringLoadBalancerInterceptor (
137
+ ObjectProvider <BlockingLoadBalancerInterceptor > loadBalancerInterceptorObjectProvider ) {
138
+ return new DeferringLoadBalancerInterceptor (loadBalancerInterceptorObjectProvider );
139
+ }
140
+
114
141
@ Bean
115
142
@ ConditionalOnBean ({ HttpClientServiceProperties .class , ReactiveLoadBalancer .Factory .class })
116
143
@ ConditionalOnMissingBean (LoadBalancerRestClientHttpServiceGroupConfigurer .class )
0 commit comments