生产者:
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字节)