【问题标题】:How to assign ID to MessageListenerContainer without using @JmsListener如何在不使用 @JmsListener 的情况下将 ID 分配给 MessageListenerContainer
【发布时间】:2019-02-05 22:28:06
【问题描述】:
我在我的应用程序中使用 spring 集成并使用 @ServiceActivator 而不是 @JmsListener 。我需要为 MessageListenerContainer 分配 ID,以便我可以以编程方式启动和停止容器。
谁能帮我理解如何为 messageListenerContainer 设置 id。
【问题讨论】:
标签:
spring-boot
jms
spring-integration
message-queue
【解决方案1】:
JmsListenerEndpointRegistry 仅用于 @JmsListener 容器,因为它们未声明为 @Beans。
对于声明为@Bean 的容器,“id”是bean 名称,您可以从ApplicationContext 获得对它的引用。在你的情况下:
context.getBean("messageListenerContainer", SimpleMessageListenerContainer.class)