diff --git a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java index b7dd50fd1..a4bc41fa7 100644 --- a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java +++ b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java @@ -148,6 +148,7 @@ class HooksRefresher implements ApplicationListener log.trace("Adding queue wrapper instrumentation"); } HookRegisteringBeanDefinitionRegistryPostProcessor.addQueueWrapper(context); + Hooks.onLastOperator(SLEUTH_TRACE_REACTOR_KEY, ReactorSleuth.scopePassingSpanOperator(this.context)); Schedulers.onScheduleHook(TraceReactorAutoConfiguration.SLEUTH_REACTOR_EXECUTOR_SERVICE_KEY, ReactorSleuth.scopePassingOnScheduleHook(this.context)); } @@ -207,6 +208,7 @@ class HookRegisteringBeanDefinitionRegistryPostProcessor implements BeanDefiniti } if (property == SleuthReactorProperties.InstrumentationType.DECORATE_QUEUES) { addQueueWrapper(springContext); + decorateOnLast(ReactorSleuth.scopePassingSpanOperator(springContext)); decorateScheduler(springContext); } else {