From de60266ab5d3357746127c8a171de7e3c29689e6 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Sun, 9 Aug 2015 12:55:01 +0100 Subject: [PATCH] Extend traces to all rest templates in context Also shorten names of enable flags --- .../scheduling/TraceSchedulingAutoConfiguration.java | 2 ++ .../instrument/web/TraceWebAutoConfiguration.java | 2 +- .../web/client/TraceWebClientAutoConfiguration.java | 12 ++++++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAutoConfiguration.java index 1c75e0bd7..e7f690d97 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAutoConfiguration.java @@ -30,6 +30,7 @@ import org.springframework.beans.factory.config.BeanPostProcessor; 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.cloud.sleuth.Trace; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -49,6 +50,7 @@ import org.springframework.scheduling.annotation.EnableAsync; */ @Configuration @EnableAspectJAutoProxy +@ConditionalOnProperty(value = "spring.sleuth.schedule.enabled", matchIfMissing = true) public class TraceSchedulingAutoConfiguration { @ConditionalOnClass(ProceedingJoinPoint.class) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java index 4d01d6fb4..c95e27737 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java @@ -37,7 +37,7 @@ import org.springframework.util.StringUtils; * @author Spencer Gibb */ @Configuration -@ConditionalOnProperty(value = "spring.sleuth.trace.web.enabled", matchIfMissing = true) +@ConditionalOnProperty(value = "spring.sleuth.web.enabled", matchIfMissing = true) @ConditionalOnWebApplication public class TraceWebAutoConfiguration { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java index 6104511a1..c10c0a309 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java @@ -16,6 +16,8 @@ package org.springframework.cloud.sleuth.instrument.web.client; +import java.util.Collection; + import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +32,7 @@ import org.springframework.web.client.RestTemplate; * @author Spencer Gibb */ @Configuration -@ConditionalOnProperty(value = "spring.sleuth.trace.web.client.enabled", matchIfMissing = true) +@ConditionalOnProperty(value = "spring.sleuth.client.enabled", matchIfMissing = true) @ConditionalOnClass(RestTemplate.class) public class TraceWebClientAutoConfiguration { @@ -50,15 +52,17 @@ public class TraceWebClientAutoConfiguration { protected static class TraceInterceptorConfiguration { @Autowired(required = false) - private RestTemplate restTemplate; + private Collection restTemplates; @Autowired private TraceRestTemplateInterceptor traceRestTemplateInterceptor; @PostConstruct public void init() { - if (this.restTemplate != null) { - this.restTemplate.getInterceptors().add(this.traceRestTemplateInterceptor); + if (this.restTemplates != null) { + for (RestTemplate restTemplate : this.restTemplates) { + restTemplate.getInterceptors().add(this.traceRestTemplateInterceptor); + } } } }