Java Dispatcher没有订阅服务器

Java Dispatcher没有订阅服务器,java,spring-integration,Java,Spring Integration,我有一个小问题,我已经弄清楚了它发生的时间和原因,但我不知道如何解决它。问题如下: 我有jms:出站通道适配器、网关和直接通道。在ConsumerEndpointFactoryBean初始化我的适配器和生命周期激活的端点之间,我收到一条消息。因此它导致org.springframework.integration.MessageDeliveryException:Dispatcher没有订户 如何告知我的发送方bean等待端点已激活 实施SmartLifeCycle并返回Integer.MAX_

我有一个小问题,我已经弄清楚了它发生的时间和原因,但我不知道如何解决它。问题如下:

我有jms:出站通道适配器、网关和直接通道。在ConsumerEndpointFactoryBean初始化我的适配器和生命周期激活的端点之间,我收到一条消息。因此它导致org.springframework.integration.MessageDeliveryException:Dispatcher没有订户


如何告知我的发送方bean等待端点已激活

实施SmartLifeCycle并返回Integer.MAX_值的阶段。然后,您的bean将是最后一个初始化的bean之一,CEFB的相位为0。

谢谢您的回复。没有SmartLifeCycle我能做到吗?我正在考虑将生命周期作为属性注入我的发件人,并手动启动端点。是的,autoStart=false+手动启动应该可以工作。另一个选项是实现ApplicationListener,并使用事件来表示应用程序上下文已完全烘焙。感谢您的回答,我选择手动启动,此解决方案有效。