最近和rabbit一直在打交道, 也是有个问题
Rabbit是否支持批量发送消息
该问题笔者翻阅官方文档与三方博客也没有找到答案,后也是自己去翻阅源码后才大概找到一个不敢确定的答案:
BatchingRabbitTemplate 批量rabbit模板
该模板在RabbitTemplate模板的基础上进行了增强,对批量推送做了一定的支持;
将批量消息整理成一个Message对象进行发送
消息头中定义了消息数量,与一个完整的消息byte[]数组
com.rabbitmq.client
最终离开spring的封装到达Rabbit客户端代码中:
可以看出没有对消息进行拆分成一条一条发送,就此证明rabbit是支持批量发送消息的,使用请求头定义条数;
结论
rabbit支持批量发送消息,并不是spring amqp层面的定义。