Setting spring.main.lazy-initialization: true effectively disables the spring.reactor.context-propagation: AUTO, as the ReactorAutoConfiguration1 is never instantiated during the application startup. Turning on eager initialization alleviates this problem, which leads me to believe that this particular setup was overlooked when the AutoConfiguration class what added. Hence, I created this issue, even though the text reads more like a question.

We are currently doing the following

@AutoConfiguration
@ConditionalOnClass(Hooks.class)
@EnableConfigurationProperties(ReactorProperties.class)
@Lazy(false)
public class EagerReactorAutoConfiguration {
  EagerReactorAutoConfiguration(ReactorProperties properties) {
    if (properties.getContextPropagation() == ReactorProperties.ContextPropagationMode.AUTO) {
      Hooks.enableAutomaticContextPropagation();
    }
  }
}

This is not elegant at all and I am not super sure if there is a way of forcing eager auto configuration for such cases (or if this should be rather fixed at Spring Boot level).

Cheers!

Comment From: wilkinsona

You're right, this is a bug. Until it's fixed, you can use a filter to exclude the ReactorAutoConfiguration bean from lazy init:

@Bean
LazyInitializationExcludeFilter eagerReactorAutoConfiguration() {
    return LazyInitializationExcludeFilter.forBeanTypes(ReactorAutoConfiguration.class);
}

Comment From: Akaame

That worked out perfectly for our setup. Thanks for the quick answer @wilkinsona 🍺