RocketMq快速入门之消息发送实例(四)

本文详细介绍了RocketMQ的使用,包括消息生产者的创建、消息发送,消费者订阅、消息处理,以及同步、异步、单向消息发送方式。同时讲解了顺序消息、延时消息和批量消息的实现,提供了具体场景和代码示例。
摘要由CSDN通过智能技术生成

1.消息生产者步骤

1.1.创建消息生产者,并指定生产者组名

1.2.指定NameServer地址

1.3.启动producer

1.4.创建消息对象,指定主题 Topic,Tag,消息体

1.5.发送消息

1.6.关闭producer


2.消息消费者步骤

2.1.创建消费者Consumer,并指定消费者组名

2.2.指定NameServer地址

2.3.订阅主题Topic,Tag

2.4.设置回调函数,处理消息

2.5.启动消费Consumer


3.基本样例

3.1.发送同步消息

场景

对可靠性要求比较高,比如:重要的通知、短信等

代码
/**
 * 同步消息
 * @author lidalin
 */
public class SyncProducer {
   

    public static void main(String[] args) throws MQClientException, MQBrokerException, RemotingException, InterruptedException, UnsupportedEncodingException {
   
        //1.1.创建消息生产者,并指定生产者组名
        DefaultMQProducer producer = new DefaultMQProducer("group1");
        //1.2.指定NameServer地址
        producer.setNamesrvAddr("localhost:9876");
        //1.3.启动producer
        producer.start();
        //1.4.创建消息对象,指定主题 Topic,Tag,消息体
        Message message = new Message("TopicTest", "tag1", "Hello World".getBytes());
        //1.5.发送消息
        SendResult result = producer.send(message);
        System.out.println(result);
        //1.6.关闭producer
        producer.shutdown();
    }
}

3.2.发送异步消息

场景

对性能要求较高

代码

/**
 * 异步消息
 * @author lidalin
 */
public class SyncProducer {
   

    public static void main(String[] args) throws MQClientException, MQBrokerException, RemotingException, InterruptedException, UnsupportedEncodingException {
   

        //1.1.创建消息生产者,并指定生产者组名
        DefaultMQProducer producer = new DefaultMQProducer("group1");
        //1.2.指定NameServer地址
        producer.setNamesrvAddr("localhost:9876");
        //1.3.启动producer
        producer.start();
        //1.4.创建消息对象,指定主题 Topic,Tag,消息体
        Message message = new Message("TopicTest", "tag1", "Hello World".getBytes());
        //1.5.发送异步消息
        producer.send(message, new SendCallback() {
   
            @Override
            public void onSuccess(SendResult sendResult) {
   
                System.out.println(sendResult);
            }

            @Override
            public void onException(Throwable e) {
   
                System.out.println(e);
            }
        });
        //1.6.关闭producer
        producer.shutdown();
    }
}

3.3.发送单向消息

场景

生产者不关心发送结果,数据价值不高

代码
/**
 * 单向消息
 * @author lidalin
 */
public class OnewayProducer {
   

    public static void main(String[] args) throws MQC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值