赞
踩
生产者进行消息发送时可以一次发送多条消息,这对于体积比较小的消息而言会大大改善性能,可以想象原本发送10条消息需要传递10次,现在只需要传递一次。这可以通过调用send()
时传递一个消息集合。比如下面这样。批量发送的消息必须拥有相同的Topic,且一次发送的消息的body的总体积不能超过4MB,否则会得到异常——org.apache.rocketmq.client.exception.MQClientException: CODE: 13 DESC: the message body size over max value, MAX: 4194304
,这是Broker端对消息大小的限制。可以通过setMaxMessageSize()
指定生产者发送消息的大小限制,单位是字节,默认是4MB。如果需要发送超过4MB大小的消息,除了通过生产者的setMaxMessageSize()
调整生产者这端的消息大小,还需要在Broker端通过maxMessageSize
指定Broker允许的最大消息大小。此外,如果在批量发送消息的时候集合中包含的消息体的总体积超过4MB的,还可以对集合进行拆分,分为多次发送。
@Test
public void testSendBatch(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。