Spring提供@JMSListener
注释来侦听来自特定队列的消息。还有implement JmsListenerConfigurer
的替代方案,并注册MessageListener
。
在这两种情况下,必须在应用程序启动时通过代码中的硬编码或通过属性来知道队列的名称。
有没有办法在应用程序启动后很长时间内侦听名称为应用程序所知的队列?
答案 0 :(得分:1)
这应该有用。
@JmsListener
配置id
。autoStartup
false。id
中的JmsListenerEndpointRegistry
来获取对侦听器容器的引用(自动将注册表连接到您的应用中并致电getListenerContainer(id)
)。AbstractMessageListenerContainer
并使用所需的队列调用setDestinationName
(或setDestination
)。start()
它。