Skip to content

Commit fe2b10a

Browse files
committed
ribbon fix
1 parent d4b1e01 commit fe2b10a

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

tx-client-springcloud/src/main/java/com/codingapi/tx/client/springcloud/spi/sleuth/ribbon/customizer/RibbonFirstRestTemplateCustomizer.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.cloud.client.loadbalancer.LoadBalancerInterceptor;
55
import org.springframework.cloud.client.loadbalancer.RestTemplateCustomizer;
6+
import org.springframework.cloud.client.loadbalancer.RetryLoadBalancerInterceptor;
67
import org.springframework.http.client.ClientHttpRequestInterceptor;
78
import org.springframework.stereotype.Component;
89
import org.springframework.web.client.RestTemplate;
@@ -21,17 +22,22 @@
2122
public class RibbonFirstRestTemplateCustomizer implements RestTemplateCustomizer {
2223

2324

25+
@Autowired(required = false)
2426
private LoadBalancerInterceptor loadBalancerInterceptor;
2527

26-
@Autowired
27-
public RibbonFirstRestTemplateCustomizer(LoadBalancerInterceptor loadBalancerInterceptor) {
28-
this.loadBalancerInterceptor = loadBalancerInterceptor;
29-
}
28+
@Autowired(required = false)
29+
private RetryLoadBalancerInterceptor retryLoadBalancerInterceptor;
30+
3031

3132
@Override
3233
public void customize(RestTemplate restTemplate) {
3334
List<ClientHttpRequestInterceptor> list = new ArrayList<>(restTemplate.getInterceptors());
34-
list.add(0,loadBalancerInterceptor);
35+
if(loadBalancerInterceptor!=null) {
36+
list.add(0, loadBalancerInterceptor);
37+
}
38+
if(retryLoadBalancerInterceptor!=null){
39+
list.add(0, retryLoadBalancerInterceptor);
40+
}
3541
restTemplate.setInterceptors(list);
3642
}
3743

0 commit comments

Comments
 (0)