消息批量发送

RocketMQ 批量消息发送是将同一主题的多条消息打包后一次性发送到消息服务端,减少网络调用的次数和网络通信资源的损耗,提高网络传输效率。示例如代码清单11-1所示。

代码清单11-1 消息批量发送示例
public class SimpleBatchProducer {
    public static void main(String[] args) throws Exception {
        DefaultMQProducer producer = new DefaultMQProducer("BatchProducerGroupName");
        producer.setNamesrvAddr("127.0.0.1:9876");
        producer.start();
        String topic = "BatchTest";
        List<Message> messages = new ArrayList<>();
        messages.add(new Message(topic, "Tag", "OrderID001", "Hello world1".getBytes()));
        messages.add(new Message(topic, "Tag", "OrderID002", "Hello world2".getBytes()));
        messages.add(new Message(topic, "Tag", "OrderID003", "Hello world3".getBytes()));
        System.out.println(producer.send(messages));
        producer.shutdown();
    }
}