批量消息
批量消息(由生产者创建)会被监听器容器自动拆分为单条消息(使用 springBatchFormat 消息头)。如果拒绝批量中的任何一条消息,将导致整个批量被拒绝。有关批处理的更多信息,请参阅批处理。
从 2.2 版本开始,SimpleMessageListenerContainer 可以用于在消费者端创建批次(生产者发送的是离散消息)。
将容器属性 consumerBatchEnabled 设置为 true 以启用此功能。同时,deBatchingEnabled 也必须为 true,以便容器负责处理两种类型的批处理。当 consumerBatchEnabled 为 true 时,需实现 BatchMessageListener 或 ChannelAwareBatchMessageListener。从版本 2.2.7 开始,SimpleMessageListenerContainer 和 DirectMessageListenerContainer 都可以将 生产者创建的批处理 解批为 List<Message>。有关在 @RabbitListener 中使用此功能的信息,请参阅 @RabbitListener with Batching。