From 9e1d83020d89c6a01e3a2a0c740e3dffb5944b3d Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Thu, 12 Nov 2015 16:22:29 +0000 Subject: [PATCH] Allow multiple rest template customizers --- .../LoadBalancerAutoConfiguration.java | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerAutoConfiguration.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerAutoConfiguration.java index 09dab1e8..bbf2b07b 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerAutoConfiguration.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerAutoConfiguration.java @@ -39,28 +39,33 @@ import org.springframework.web.client.RestTemplate; public class LoadBalancerAutoConfiguration { @Bean - @LoadBalanced - public RestTemplate loadBalancedRestTemplate(RestTemplateCustomizer customizer) { + @LoadBalanced + public RestTemplate loadBalancedRestTemplate( + List customizers) { RestTemplate restTemplate = new RestTemplate(); - customizer.customize(restTemplate); + for (RestTemplateCustomizer customizer : customizers) { + customizer.customize(restTemplate); + } return restTemplate; } - @Bean - @ConditionalOnMissingBean - public RestTemplateCustomizer restTemplateCustomizer(final LoadBalancerInterceptor loadBalancerInterceptor) { - return new RestTemplateCustomizer() { - @Override - public void customize(RestTemplate restTemplate) { - List list = new ArrayList<>(); - list.add(loadBalancerInterceptor); - restTemplate.setInterceptors(list); - } - }; - } + @Bean + @ConditionalOnMissingBean + public RestTemplateCustomizer restTemplateCustomizer( + final LoadBalancerInterceptor loadBalancerInterceptor) { + return new RestTemplateCustomizer() { + @Override + public void customize(RestTemplate restTemplate) { + List list = new ArrayList<>(); + list.add(loadBalancerInterceptor); + restTemplate.setInterceptors(list); + } + }; + } @Bean - public LoadBalancerInterceptor ribbonInterceptor(LoadBalancerClient loadBalancerClient) { + public LoadBalancerInterceptor ribbonInterceptor( + LoadBalancerClient loadBalancerClient) { return new LoadBalancerInterceptor(loadBalancerClient); }