diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfiguration.java index b45c338ff..f0a5a0d8c 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfiguration.java @@ -24,7 +24,6 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.cloud.sleuth.autoconfig.TraceAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -43,7 +42,7 @@ import org.springframework.context.annotation.Configuration; public class TraceRedisAutoConfiguration { @Configuration - @ConditionalOnClass(ClientResources.class) + @ConditionalOnBean(ClientResources.class) static class LettuceConfig { @Bean @@ -75,9 +74,7 @@ class TraceLettuceClientResourcesBeanPostProcessor implements BeanPostProcessor throws BeansException { if (bean instanceof ClientResources) { ClientResources cr = (ClientResources) bean; - // tracing of ClientResources instance created by default is `disabled()` - if (cr.tracing() == null - || cr.tracing() == io.lettuce.core.tracing.Tracing.disabled()) { + if (!cr.tracing().isEnabled()) { return cr.mutate().tracing(BraveTracing.create(this.tracing)).build(); } } diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfigurationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfigurationTests.java index 4d5bed271..fb909c995 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfigurationTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfigurationTests.java @@ -47,9 +47,7 @@ public class TraceRedisAutoConfigurationTests { @Test public void tracing_should_be_set() { then(this.traceLettuceClientResourcesBeanPostProcessor.tracingCalled).isTrue(); - then(this.clientResources.tracing()).isNotNull(); - then(this.clientResources.tracing()) - .isNotSameAs(io.lettuce.core.tracing.Tracing.disabled()); + then(this.clientResources.tracing().isEnabled()).isTrue(); } @Configuration @@ -59,8 +57,7 @@ public class TraceRedisAutoConfigurationTests { @Bean ClientResources clientResources() { ClientResources clientResources = ClientResources.create(); - then(clientResources.tracing()) - .isSameAs(io.lettuce.core.tracing.Tracing.disabled()); + then(clientResources.tracing().isEnabled()).isFalse(); return clientResources; }