See more info in the spring-projects/spring-boot#44873.
The AbstractConsumerEndpointParser produces a ConsumerEndpointFactoryBean which has to be initialized when BeanFactory requests a bean type. If inputChannel is not present in the BeanFactory that leads to the problem.
Making the IntegrationContextUtils.AUTO_CREATE_CHANNEL_CANDIDATES_BEAN_NAME as dependency on such an endpoint bean definition should trigger the ChannelInitializer to be initialized. Therefore all the auto-create channel candidates will be created upfront.
Side task.
Revise IntegrationConfigUtils.autoCreateDirectChannel() to use registerSingleton() instead this this functionality is called at runtime from that ChannelInitializer.afterPropertiesSet().