• RocketMQ(三)——————javaAPI (4.发送批量消息)


      发送批量消息 :
      如果您每次只发送不超过4MB的消息,则很容易使用批处理,样例如下:

       消息接收方式:RocketMQ(三)——————javaAPI(1.2.3.4 消息接收方式)

    注意:
    - 批量消息要求必要具有同一topic、相同消息配置
    - 不支持延时消息
    - 建议一个批量消息最好不要超过1MB大小
    - 如果不确定是否超过限制,可以手动计算大小分批发送

    //官网示例
        String topic = "BatchTest";
        List<Message> messages = new ArrayList<>();
        messages.add(new Message(topic, "TagA", "OrderID001", "Hello world 0".getBytes()));
        messages.add(new Message(topic, "TagA", "OrderID002", "Hello world 1".getBytes()));
        messages.add(new Message(topic, "TagA", "OrderID003", "Hello world 2".getBytes()));
        try {
            producer.send(messages);
        } catch (Exception e) {
        e.printStackTrace();
        //处理error
        }
        
    
        //简单理解
        public static void main(String[] args) throws Exception {
    
            DefaultMQProducer producer = new DefaultMQProducer("rocketMq1");
    
            //设置nameserver地址:
            producer.setNamesrvAddr("127.0.0.1:9876");
            producer.start();
    
            //topic 消息将要发送的地址
            //body 具体消息内容
            Message message1 = new Message("myTopic001","rocketMq1 第一次发送".getBytes());
            Message message2 = new Message("myTopic001","rocketMq1 第二次发送".getBytes());
            Message message3 = new Message("myTopic001","rocketMq1 第三次发送".getBytes());
    
            ArrayList arrayList = new ArrayList();
            arrayList.add(message1);
            arrayList.add(message2);
            arrayList.add(message3);
    
            SendResult result = producer.send(arrayList);
    
            System.out.println("发送结果 :"+result);
            producer.shutdown();
            System.out.println("生产者下线!");
    
        }
  • 相关阅读:
    BETA 版冲刺前准备
    第十一次作业
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
    Alpha 冲刺 (4/10)
    抽奖系统现场编程
  • 原文地址:https://www.cnblogs.com/lifan12589/p/14597858.html
Copyright © 2020-2023  润新知