diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/client/MetricsRestTemplateCustomizer.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/client/MetricsRestTemplateCustomizer.java index 74831e9011..40af5d04e1 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/client/MetricsRestTemplateCustomizer.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/client/MetricsRestTemplateCustomizer.java @@ -59,10 +59,13 @@ public class MetricsRestTemplateCustomizer implements RestTemplateCustomizer { UriTemplateHandler templateHandler = restTemplate.getUriTemplateHandler(); templateHandler = this.interceptor.createUriTemplateHandler(templateHandler); restTemplate.setUriTemplateHandler(templateHandler); + List existingInterceptors = restTemplate.getInterceptors(); + if (!existingInterceptors.contains(this.interceptor)) { List interceptors = new ArrayList<>(); - interceptors.add(this.interceptor); - interceptors.addAll(restTemplate.getInterceptors()); - restTemplate.setInterceptors(interceptors); + interceptors.add(this.interceptor); + interceptors.addAll(existingInterceptors); + restTemplate.setInterceptors(interceptors); + } } }