如何在不使用@JmsListener 的情况下将 ID 分配给 MessageListenerContainer

How to assign ID to MessageListenerContainer without using @JmsListener

我在我的应用程序中使用 spring 集成并使用 @ServiceActivator 而不是 @JmsListener 。我需要为 MessageListenerContainer 分配 ID,以便我可以以编程方式启动和停止容器。

谁能帮助我了解如何为 messageListenerContainer 设置 id。

JmsListenerEndpointRegistry 仅用于 @JmsListener 容器,因为它们未声明为 @Beans。

对于声明为 @Bean 的容器,"id" 是 bean 名称,您可以从 ApplicationContext 获得对它的引用。在你的情况下:

context.getBean("messageListenerContainer", SimpleMessageListenerContainer.class)