RocketMQ系列(三)消息生产消费原生写法

本文详细介绍 RocketMQ 的消息发送与接收机制,包括同步、异步、顺序及延迟消息的发送,以及广播、负载均衡、顺序消息的消费方式,并探讨消息过滤策略。

上篇文章《RocketMQ系列(二)双主双从集群搭建》中,我们搭建了双主双从的集群环境,并启动了可视化平台rocketmq-console,本文我们使用原生api发送一些消息到mq中,然后进行消费。

一.生产消息

导入mq客户端的依赖包:

 <dependency>
    <groupId>org.apache.rocketmq</groupId>
     <artifactId>rocketmq-client</artifactId>
     <version>4.4.0</version>
 </dependency>

1.1 同步消息

 public static void main(String[] args) throws Exception {
   
   
        //1.创建消息生产者,并指定组名
        DefaultMQProducer producer = new DefaultMQProducer("group1");
        //2.指定nameserver的地址
        producer.setNamesrvAddr("192.168.17.101:9876;192.168.17.102:9876");
        //3.启动producer
        producer.start();
        //4.创建消息
        for (int i = 0; i < 10; i++) {
   
   
            Message message = new Message("base", "tag1", ("hello world" + i).getBytes());

            //5.发送消息
            SendResult sendResult = producer.send(message);
            System.out.println(sendResult.toString());
            TimeUnit.SECONDS.sleep(2);
        }
        //6.关闭生产者
        producer.shutdown();
    }

打印输出如下:

SendResult [sendStatus=SEND_OK, msgId=C0A8010603A018B4AAC2618C4F520000, offsetMsgId=C0A8116600002A9F00000000000000A9, messageQueue=MessageQueue [topic=base, brokerName=broker-b, queueId=2], queueOffset=1]
SendResult [sendStatus=SEND_OK, msgId=C0A8010603A018B4AAC2618C57420001, offsetMsgId=C0A8116600002A9F0000000000000152, messageQueue=MessageQueue [topic=base, brokerName=broker-b, queueId=3], queueOffset=0]
SendResult [sendStatus=SEND_OK, msgId=C0A8010603A018B4AAC2618C5F180002, offsetMsgId=C0A8116600002A9F00000000000001FB, messageQueue=MessageQueue [topic=base, brokerName=broker-b, queueId=0], queueOffset=0]
SendResult [sendStatus=SEND_OK, msgId=C0A8010603A018B4AAC2618C66F90003, offsetMsgId=C0A8116600002A9F00000000000002A4, messageQueue=MessageQueue [topic=base, brokerName=broker-b, queueId=1], queueOffset=0]
SendResult [sendStatus=SEND_OK, msgId=C0A8010603A018B4AAC2618C6ECE0004, offsetMsgId=C0A8116600002A9F000000000000034D, messageQueue=MessageQueue [topic=base
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值