此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring AMQP 3.2.0spring-doc.cadn.net.cn

侦听器容器队列

版本 1.3 引入了许多改进,用于处理侦听器容器中的多个队列。spring-doc.cadn.net.cn

容器最初可以配置为侦听零个队列。 可以在运行时添加和删除队列。 这SimpleMessageListenerContainer在处理了任何预取的消息后,回收 (取消和重新创建) 所有使用者。 这DirectMessageListenerContainer为每个队列创建/取消单个使用者,而不会影响其他队列上的使用者。 请参阅 Javadoc 以获取addQueues,addQueueNames,removeQueuesremoveQueueNames方法。spring-doc.cadn.net.cn

如果并非所有队列都可用,则容器会尝试每 60 秒被动声明(并使用)一次缺失的队列。spring-doc.cadn.net.cn

此外,如果使用方收到来自代理的取消(例如,如果队列被删除),则使用方会尝试恢复,并且恢复的使用方将继续处理来自任何其他已配置队列的消息。 以前,一个队列上的 cancel 会取消整个使用者,最终,容器会因缺少队列而停止。spring-doc.cadn.net.cn

如果您希望永久删除队列,则应在删除到队列之前或之后更新容器,以避免将来尝试从中消费。spring-doc.cadn.net.cn