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

容器管理

为注释创建的容器不会在应用程序上下文中注册。 您可以通过调用getListenerContainers()RabbitListenerEndpointRegistry豆。 然后,您可以循环访问此集合,例如,停止或启动所有容器或调用Lifecycle方法 在注册表本身上,这将调用每个容器上的作。spring-doc.cadn.net.cn

您还可以使用其idgetListenerContainer(String id)— 用于 例registry.getListenerContainer("multi")对于上面代码段创建的容器。spring-doc.cadn.net.cn

从 1.5.2 版本开始,您可以获得id已注册容器的值与getListenerContainerIds().spring-doc.cadn.net.cn

从 1.5 版开始,您现在可以分配一个groupRabbitListener端点。 这提供了一种机制来获取对容器子集的引用。 添加一个group属性导致类型为Collection<MessageListenerContainer>以组名称向上下文注册。spring-doc.cadn.net.cn

默认情况下,停止容器将取消使用者并在停止之前处理所有预提取的消息。 从版本 2.4.14、3.0.6 开始,您可以将forceStopcontainer 属性设置为 true 以在处理当前消息后立即停止,从而导致任何预提取的消息重新排队。 例如,如果使用独占或单活动使用者,这很有用。spring-doc.cadn.net.cn