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