diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java index 7224aae27..e8172b7b8 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java @@ -61,7 +61,8 @@ public class TraceAutoConfiguration { @Bean @ConditionalOnMissingBean - Tracing sleuthTracing(@Value("${spring.zipkin.service.name:${spring.application.name:default}}") String serviceName, + // NOTE: stable bean name as might be used outside sleuth + Tracing tracing(@Value("${spring.zipkin.service.name:${spring.application.name:default}}") String serviceName, Propagation.Factory factory, CurrentTraceContext currentTraceContext, Reporter reporter, @@ -86,7 +87,8 @@ public class TraceAutoConfiguration { @Bean @ConditionalOnMissingBean - Tracer sleuthTracer(Tracing tracing) { + // NOTE: stable bean name as might be used outside sleuth + Tracer tracer(Tracing tracing) { return tracing.tracer(); } @@ -144,7 +146,8 @@ public class TraceAutoConfiguration { @Bean @ConditionalOnMissingBean - CurrentSpanCustomizer sleuthCurrentSpanCustomizer(Tracing tracing) { + // NOTE: stable bean name as might be used outside sleuth + CurrentSpanCustomizer spanCustomizer(Tracing tracing) { return CurrentSpanCustomizer.create(tracing); } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration.java index c8b492da3..9858c9d39 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration.java @@ -18,6 +18,7 @@ package org.springframework.cloud.sleuth.instrument.web; import brave.Tracing; import brave.http.HttpTracing; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -42,23 +43,24 @@ public class TraceHttpAutoConfiguration { @Bean @ConditionalOnMissingBean - @ConditionalOnProperty(name = "spring.sleuth.http.legacy.enabled", havingValue = "false", matchIfMissing = true) - HttpTracing sleuthHttpTracing(Tracing tracing, SkipPatternProvider provider) { + // NOTE: stable bean name as might be used outside sleuth + HttpTracing httpTracing( + @Value("${spring.sleuth.http.legacy.enabled:false}") boolean legacyEnabled, + Tracing tracing, + TraceKeys traceKeys, + ErrorParser errorParser, + SkipPatternProvider provider + ) { + if (legacyEnabled) { + return HttpTracing.newBuilder(tracing) + .clientParser(new SleuthHttpClientParser(traceKeys)) + .serverParser(new SleuthHttpServerParser(traceKeys, errorParser)) + .serverSampler(new SleuthHttpSampler(provider)) + .build(); + } return HttpTracing .newBuilder(tracing) .serverSampler(new SleuthHttpSampler(provider)) .build(); } - - @Bean - @ConditionalOnMissingBean - @ConditionalOnProperty(name = "spring.sleuth.http.legacy.enabled", havingValue = "true") - HttpTracing legacySleuthHttpTracing(Tracing tracing, TraceKeys traceKeys, - ErrorParser errorParser, SkipPatternProvider provider) { - return HttpTracing.newBuilder(tracing) - .clientParser(new SleuthHttpClientParser(traceKeys)) - .serverParser(new SleuthHttpServerParser(traceKeys, errorParser)) - .serverSampler(new SleuthHttpSampler(provider)) - .build(); - } }