Instantiate one LoadBalancedRetryFactory bean. (#917)

This commit is contained in:
Olga Maciaszek-Sharma
2021-03-05 16:22:10 +01:00
committed by GitHub
parent 894b7d25c9
commit 8bffa27e9a
2 changed files with 4 additions and 8 deletions

View File

@@ -30,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClas
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.AnnotationAwareOrderComparator;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.retry.support.RetryTemplate;
import org.springframework.web.client.RestTemplate;
@@ -129,10 +128,9 @@ public class LoadBalancerAutoConfiguration {
LoadBalancerClient loadBalancerClient,
LoadBalancerRetryProperties properties,
LoadBalancerRequestFactory requestFactory,
List<LoadBalancedRetryFactory> loadBalancedRetryFactories) {
AnnotationAwareOrderComparator.sort(loadBalancedRetryFactories);
LoadBalancedRetryFactory loadBalancedRetryFactory) {
return new RetryLoadBalancerInterceptor(loadBalancerClient, properties,
requestFactory, loadBalancedRetryFactories.get(0));
requestFactory, loadBalancedRetryFactory);
}
@Bean

View File

@@ -25,6 +25,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.loadbalancer.AsyncLoadBalancerAutoConfiguration;
@@ -39,7 +40,6 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.annotation.Order;
import org.springframework.retry.support.RetryTemplate;
import org.springframework.web.client.RestTemplate;
@@ -85,9 +85,7 @@ public class BlockingLoadBalancerClientAutoConfiguration {
protected static class BlockingLoadBalancerRetryConfig {
@Bean
// Allow users to override the factory while avoiding loading
// RibbonLoadBalancedRetryFactory.
@Order(1000)
@ConditionalOnMissingBean
LoadBalancedRetryFactory loadBalancedRetryFactory(
LoadBalancerRetryProperties retryProperties) {
return new BlockingLoadBalancedRetryFactory(retryProperties);