此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring AMQP 3.2.0! |
侦听器容器队列
版本 1.3 引入了许多改进,用于处理侦听器容器中的多个队列。
容器最初可以配置为侦听零个队列。
可以在运行时添加和删除队列。
在处理了任何预取的消息后,将回收(取消和重新创建)所有使用者。
为每个队列创建/取消单个使用者,而不会影响其他队列上的使用者。
请参阅 Javadoc 中的 、 和 方法。SimpleMessageListenerContainer
DirectMessageListenerContainer
addQueues
addQueueNames
removeQueues
removeQueueNames
如果并非所有队列都可用,则容器会尝试每 60 秒被动声明(并使用)一次缺失的队列。
此外,如果使用方收到来自代理的取消(例如,如果队列被删除),则使用方会尝试恢复,并且恢复的使用方将继续处理来自任何其他已配置队列的消息。 以前,一个队列上的 cancel 会取消整个使用者,最终,容器会因缺少队列而停止。
如果您希望永久删除队列,则应在删除到队列之前或之后更新容器,以避免将来尝试从中消费。