RabbitMQ批量消息发送

生产者:

public class Producer {
    public static void main(String[] args) throws Exception{
        DefaultMQProducer producer=new DefaultMQProducer("group1");
        producer.setNamesrvAddr("192.168.23.127:9876");
        producer.start();
        //创建一个集合一次保存多个消息
        List<Message> msgList=new ArrayList<>();
        Message msg1=new Message("topic4",("批量消息:hello rocketmq"+1).getBytes("UTF-8"));
        Message msg2=new Message("topic4",("批量消息:hello rocketmq"+2).getBytes("UTF-8"));
        Message msg3=new Message("topic4",("批量消息:hello rocketmq"+3).getBytes("UTF-8"));
        msgList.add(msg1);
        msgList.add(msg2);
        msgList.add(msg3);
        //发送批量消息
        SendResult result = producer.send(msgList);
        System.out.println(result);
        producer.shutdown();
    }
}

核心部分:

		//创建一个集合一次保存多个消息
        List<Message> msgList=new ArrayList<>();
        Message msg1=new Message("topic4",("批量消息:hello rocketmq"+1).getBytes("UTF-8"));
        Message msg2=new Message("topic4",("批量消息:hello rocketmq"+2).getBytes("UTF-8"));
        Message msg3=new Message("topic4",("批量消息:hello rocketmq"+3).getBytes("UTF-8"));
        msgList.add(msg1);
        msgList.add(msg2);
        msgList.add(msg3);
        //发送批量消息
        SendResult result = producer.send(msgList);

注意

  • 消息内容总长度不超过4M

消息内容总长度包含如下:

  • topic(字符串字节数)
  • body (字节数组长度)
  • 消息追加的属性(key与value对应字符串字节数)
  • 日志(固定20字节)

版权声明:本文为weixin_64061088原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。