此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring AMQP 4.0.2spring-doc.cadn.net.cn

批处理消息

批处理消息(由生产者创建)会由监听器容器自动解批处理(使用 springBatchFormat 消息头)。拒绝批处理中的任何一条消息,将导致整个批处理被拒绝。有关批处理的更多信息,请参阅 批处理spring-doc.cadn.net.cn

从版本 2.2 开始,SimpleMessageListenerContainer 可以用于在消费者端(即生产者发送离散消息的端)创建批次。spring-doc.cadn.net.cn

将容器属性 consumerBatchEnabled 设置为启用此功能。deBatchingEnabled 也必须为 true,以确保容器负责处理两种类型的批处理。当 consumerBatchEnabled 为 true 时,请实现 BatchMessageListenerChannelAwareBatchMessageListener。从版本 2.2.7 开始,SimpleMessageListenerContainerDirectMessageListenerContainer 均可将 由生产者创建的批处理 解批处理(debatch)为 List<Message>。有关如何在 @RabbitListener 中使用此功能的信息,请参阅 @RabbitListener 与批处理spring-doc.cadn.net.cn