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 b3ccd1565..094a29164 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 @@ -146,7 +146,8 @@ public class TraceAutoConfiguration { @ConditionalOnMissingBean Propagation.Factory sleuthPropagation(SleuthProperties sleuthProperties) { if (sleuthProperties.getBaggageKeys().isEmpty() - && sleuthProperties.getPropagationKeys().isEmpty()) { + && sleuthProperties.getPropagationKeys().isEmpty() + && extraFieldCustomizers.isEmpty()) { return B3Propagation.FACTORY; } ExtraFieldPropagation.FactoryBuilder factoryBuilder; diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationCustomizersTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationCustomizersTests.java index dd767eb52..ea2d4cf47 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationCustomizersTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationCustomizersTests.java @@ -36,14 +36,13 @@ import static org.assertj.core.api.BDDAssertions.then; public class TraceAutoConfigurationCustomizersTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withPropertyValues("spring.sleuth.baggage-keys=my-baggage") .withConfiguration(AutoConfigurations.of(TraceAutoConfiguration.class, TraceWebAutoConfiguration.class, TraceHttpAutoConfiguration.class)) .withUserConfiguration(Customizers.class); @Test public void should_apply_customizers() { - this.contextRunner.run((context) -> { + this.contextRunner.withPropertyValues("spring.sleuth.baggage-keys=my-baggage").run((context) -> { Customizers bean = context.getBean(Customizers.class); shouldApplyCustomizations(bean); @@ -51,6 +50,15 @@ public class TraceAutoConfigurationCustomizersTests { }); } + @Test + public void should_apply_extra_field_customizer_when_no_extra_properties_are_defined() { + this.contextRunner.run((context) -> { + Customizers bean = context.getBean(Customizers.class); + + shouldApplyCustomizations(bean); + }); + } + private void shouldNotOverrideTheDefaults(AssertableApplicationContext context) { then(context.getBean(Sampler.class)).isSameAs(Sampler.ALWAYS_SAMPLE); }