RocketMQ-04 编程示例

本文介绍 RocketMQ 的安装配置与多种消息类型的应用实践,包括简单消息、广播消息、延时消息等,并提供消费者与生产者的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

首先声明:本篇中编写的案例,基本都是来自官网。

简单的入门案例:
http://rocketmq.apache.org/docs/simple-example/

更多案例:https://github.com/apache/rocketmq/tree/master/example

常见消息用法:

  1. 简单消息
  2. 广播消息
  3. 延时发送(计划消息)
  4. 批量发送消息
  5. 顺序消息
  6. 消息筛选
  7. 事务消息(这里不做讲解,专门在分布式事务里面讲解)

二、开发环境搭建

不管是生产者还是消费者,搭建都很简单,引入rocketmq-client相关包即可。

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

三、简单消息

(一)Consumer

这里简单的使用DefaultMQPushConsumer来接受消息,基于方法回调来接受消息

package com.firewolf.rocketmq;

import java.util.List;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.message.MessageExt;

/**
 * 作者:刘兴 时间:2019-07-11
 **/
public class Consumer {

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

    //创建消费者实例,指定消费者组
    DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("consumer-group1");

    //指定nameserver地址,多个用;隔开
    consumer.setNamesrvAddr("10.211.55.6:9876");

    //指定订阅的主题和tag,*表示订阅这个主题下的所有消息
    consumer.subscribe("mytopic", "*");

    //注册接受到消息的回调函数
    consumer.registerMessageListener(new MessageListenerConcurrently() {
      public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
          ConsumeConcurrentlyContext consumeConcurrentlyContext) {
        System.out.printf("%s 接收到消息: %s %n", Thread.currentThread().getName(), msgs);
        return ConsumeConcurrentlyStatus.CONSUME
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值