`

rocketmq入门

 
阅读更多
1.rocketmq入门
阿里云 什么是消息队列RocketMQ
https://help.aliyun.com/document_detail/29532.html?spm=a2c4g.11186623.2.28.3258793fudUVgL
实践
生产者
package com.xxx.xxx.api.mq;

import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.ONSFactory;
import com.aliyun.openservices.ons.api.Producer;
import com.aliyun.openservices.ons.api.PropertyKeyConst;
import com.aliyun.openservices.ons.api.SendResult;

import java.util.Properties;

/**
 * @Author  
 * @Date 2019/8/15 18:04
 */
public class ProducerTest {
    public static void main(String[] args) {
        Properties properties = new Properties();
        // 在控制台创建的Group ID
        properties.setProperty(PropertyKeyConst.GROUP_ID,"XX");
        // 鉴权用的 RAM 子账号的 AccessKeyId,由主账号创建,请向主账号获取
        properties.setProperty(PropertyKeyConst.AccessKey,"XX");
        // 鉴权用的 RAM 子账号的 AccessKeySecret,由主账号创建,请向主账号获取
        properties.setProperty(PropertyKeyConst.SecretKey,"XX");
        // 设置 TCP 接入域名,进入控制台的实例管理页面,在页面上方选择实例后,在实例信息中的“获取接入点信息”区域查看
        properties.setProperty(PropertyKeyConst.NAMESRV_ADDR,"XX");

        Producer producer = ONSFactory.createProducer(properties);
        // 在发送之前,必须调用start 方法来启动Producer,只需调用一次即可
        producer.start();
        int count =5;
        // 循环发送消息
        while(true){
            if(count==0){
                break;
            }
            Message msg = new Message(
                    // 在控制台创建的 Topic,即该消息所属的 Topic 名称
                    "dev-cm-send-crs-topic",
                    // Message Tag,
                    // 可理解为 Gmail 中的标签,对消息进行再归类,方便 Consumer 指定过滤条件在消息队列 RocketMQ 服务器过滤
                    "dev_product_mq",
                    "write what ",
                    // Message Body
                    // 任何二进制形式的数据, 消息队列 RocketMQ 不做任何干预,
                    // 需要 Producer 与 Consumer 协商好一致的序列化和反序列化方式
                    "Hello MQ".getBytes()
            );
            // 设置代表消息的业务关键属性,请尽可能全局唯一,以方便您在无法正常收到消息情况下,可通过消息队列 RocketMQ 控制台查询消息并补发
            // 注意:不设置也不会影响消息正常收发
//            msg.setKey("ORDERID_100");
            // 发送消息,只要不抛异常就是成功
            // 打印 Message ID,以便用于消息发送状态查询
            SendResult sendResult = producer.send(msg);
            System.out.println("Send Message success. Message ID is: " + sendResult.getMessageId());
            count--;
        }
        // 在应用退出前,可以销毁 Producer 对象
        // 注意:如果不销毁也没有问题
//        producer.shutdown();
    }
}


消费者
package com.xxx.xxx.api.mq;

import com.aliyun.openservices.ons.api.Action;
import com.aliyun.openservices.ons.api.ConsumeContext;
import com.aliyun.openservices.ons.api.Consumer;
import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.MessageListener;
import com.aliyun.openservices.ons.api.ONSFactory;
import com.aliyun.openservices.ons.api.PropertyKeyConst;

import java.util.Properties;

/**
 * @Author  
 * @Date 2019/8/15 19:39
 */
public class ConsumerTest {
    public static void main(String[] args) {
        Properties properties = new Properties();
        // 您在控制台创建的 Group ID
        properties.put(PropertyKeyConst.GROUP_ID,"XX");// 鉴权用的 RAM 子账号的 AccessKeyId,由主账号创建,请向主账号获取
        properties.setProperty(PropertyKeyConst.AccessKey,"XX");
        // 鉴权用的 RAM 子账号的 AccessKeySecret,由主账号创建,请向主账号获取
        properties.setProperty(PropertyKeyConst.SecretKey,"XX");
        // 设置 TCP 接入域名,进入控制台的实例管理页面,在页面上方选择实例后,在实例信息中的“获取接入点信息”区域查看
        properties.setProperty(PropertyKeyConst.NAMESRV_ADDR,"XX");

        Consumer consumer = ONSFactory.createConsumer(properties);
        consumer.subscribe("dev-cm-send-crs-topic", "*", new MessageListener() {
            @Override
            public Action consume(Message message, ConsumeContext context) {
                System.out.println("Receive: " + message);
                return Action.CommitMessage;
            }
        });
        consumer.start();
        System.out.println("Consumer Started");
    }
    public void test(){
    }
}
分享到:
评论

相关推荐

    rocketmq入门指南

    ### RocketMQ 入门知识点详解 #### 一、RocketMQ 概述 RocketMQ 是一款高性能、可伸缩的消息中间件,它具有低延迟、高可靠的特点,适用于各种消息传递场景。RocketMQ 支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型...

    RocketMQ入门实战及源码解析.7z

    RocketMQ是中国阿里巴巴开源的一款分布式消息中间件,它在大规模分布式系统中扮演着重要的角色,用于处理高并发、低延迟的...提供的"RocketMQ源码解析.pdf"和"RocketMQ入门指南.pdf"将是深入理解RocketMQ的宝贵资源。

    rocketmq教程两套

    一、rocketmq入门到精通视频教程目录大纲 001-001_RocketMQ_简介 002-002_RocketMQ_核心概念详解 003-003_RocketMQ_集群构建模型详解(一) 004-004_RocketMQ_集群构建模型详解(二) 005-005_RocketMQ_双主模式集群...

    rocketmq实例代码

    RocketMQ实例代码解析 在Java开发中,RocketMQ作为一个高性能、高可靠性的开源消息中间件,被广泛应用于大型分布式系统中。它最初由阿里巴巴开发,后来成为Apache顶级项目,为开发者提供了一种强大的消息传递机制,...

    【RocketMQ windows小白安装教程】

    本教程将详细讲解如何在Windows操作系统上进行RocketMQ的安装与配置,适合初学者快速入门。 一、 RocketMQ的组成部分 RocketMQ主要包含四个核心组件:NameServer、Broker、Producer和Consumer。NameServer是服务...

    1.1.RocketMq课程说明.mp4

    2.RocketMQ入门 2.1.rocketmq安装 2.2.一对一模式 2.3.广播模式 3.消息的特性 3.1.同步消息 3.2.异步消息 3.3.单向消息 3.4.延时消息 3.5.批量发送 3.6.顺序性 3.7.消息事务 3.8.过滤消息tag 4.rocketmq集群 4.1....

    消息中间件+RocketMq+入门文档+用于学习

    【消息中间件RocketMQ入门】 消息中间件(MQ)是一种在分布式系统中用于通信的技术,它通过消息队列作为消息的容器,使得系统组件之间的交互变得更加高效和解耦。RocketMQ是由阿里巴巴开源的高性能消息中间件,已被...

    RocketMq学习视频

    一、rocketmq入门到精通视频教程目录大纲 001-001_RocketMQ_简介 002-002_RocketMQ_核心概念详解 003-003_RocketMQ_集群构建模型详解(一) 004-004_RocketMQ_集群构建模型详解(二) 005-005_RocketMQ_双主模式集群...

    RocketMQ入门(上)

    1.能够保证严格的消息顺序2.提供丰富的消息拉取模式3.高效的订阅者水平扩展能力4.实时的消息订阅机制5.亿级消息堆积能力(1)NameServer是一个几乎无状态的节点,可集群部署,节点之间无任何信息同步(2)Broker部署...

    RocketMq快速入门文档

    【RocketMQ快速入门文档】 RocketMQ是一款由阿里巴巴开源并捐赠给Apache基金会的分布式消息中间件,源自阿里的MetaQ项目,具有高性能、高可用、低延迟等特性,尤其在处理大规模消息流转方面表现出色。RocketMQ支持...

    rocketmq初学者入门-附件资源

    rocketmq初学者入门-附件资源

    day09-分布式消息系统RocketMQ的入门.zip

    本课程是针对某马程序员JavaEE 57期设计的,旨在帮助开发者入门并掌握RocketMQ的基础知识和实践技巧。 1. **分布式消息系统**:分布式消息系统是解决大规模分布式应用之间异步通信的关键技术,它允许系统组件之间...

    Apache RocketMQ 从入门到实战1

    Apache RocketMQ 是一款高度可扩展、高性能的分布式消息中间件,广泛应用于互联网和金融行业的企业IT架构中。作为阿里巴巴捐赠给Apache基金会的顶级项目,它提供了稳定的消息传递、消息队列、发布/订阅模式以及事务...

    分布式消息系统RocketMQ的入门.docx

    Apache RocketMQ是一个强大的分布式消息系统,最初由阿里巴巴开发并贡献给了Apache软件基金会,成为其顶级项目。RocketMQ设计用于处理大规模、高并发的消息流转,尤其在每年的双十一购物节期间,能够处理万亿级别的...

    RocketMQ最全介绍与实战.pdf

    RocketMQ 介绍与实战 RocketMQ 是阿里巴巴中间件团队自研的一款高性能、高吞吐量、低延迟、高可用、高可靠(具备金融级稳定性)的分布式消息中间件。RocketMQ 的前世今生是 Metaq,Metaq 在阿里巴巴集团内部、蚂蚁...

    java RocketMQ快速入门基础知识

    主要介绍了java RocketMQ快速入门基础知识,所以RocketMQ是站在巨人的肩膀上(kafka),又对其进行了优化让其更满足互联网公司的特点。它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。,...

    阿里RocketMQ_用户指南_V3.2.4 & RocketMQ-原理简介

    1. **快速入门**:如何配置环境,创建Producer和Consumer实例,发送与接收消息的基本步骤。 2. **高级特性**:如批量发送、消息回溯、消息过滤、消费模式(如集群消费和广播消费)以及消息的顺序消费等。 3. **...

Global site tag (gtag.js) - Google Analytics