代码编织梦想

前言

RocketMQ生产消息和消费消息

环境准备

安装RocketMQ: springboot基础(48): RocketMQ的安装
安装RocketMQ console :消息队列(3):RocketMQ控制台安装

第一节 生产消息

  1. 引入依赖
<!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot-starter -->
<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.2.2</version>
</dependency>
  1. 编写测试用例
package com.lcz;

import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class RocketMqTest {

    @Test
    public void testSend() throws Exception {
        // 创建消息生产者,设置生产者组名
        DefaultMQProducer producer=new DefaultMQProducer("myproducergroup");
        // 为生产者设置NameServer
        producer.setNamesrvAddr("127.0.0.1:9876");
        //启动生产者
        producer.start();
        //构建消息
        Message message=new Message("mytopic","tag222","hello world".getBytes());

        //发送消息
        SendResult result = producer.send(message, 5000);
        System.out.println(result);
        //关闭生产者
        producer.shutdown();
    }
}
  1. 运行测试用例,生产消息(注意,RocketMQ console控制台显示两条消息是因为运行了两次)
    在这里插入图片描述
    查看RocketMQ console主题和消息。
    在这里插入图片描述

在这里插入图片描述

第二节 消费消息

  1. 编写测试用例
 @Test
    public void test() throws Exception {
        DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("myconsumergroup");
        consumer.setNamesrvAddr("127.0.0.1:9876");
        consumer.subscribe("mytopic", "*");
        consumer.registerMessageListener(new MessageListenerConcurrently() {
            @Override
            public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {
                System.out.println("收到的消息:" + list);
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;//返回状态是消费成功还是消费失败
            }
        });

        consumer.start();
        System.out.println("启动consumer成功");
        TimeUnit.HOURS.sleep(1);
    }

运行启动,收到一条消息。
在这里插入图片描述

传送门

真实开发中,上面的代码显的很繁琐和不优雅。所以基于springboot整合RocketMq实现更加简单方便和便捷。
springboot基础(49): 整合RocketMQ

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011628753/article/details/126308399

SpringCloudAlibaba - 阿里系消息中间件RocketMQ-爱代码爱编程

关于消息中间件及各种MQ对比,见博主之前的博客:ActiveMQ/RabbitMQ;本文讲解阿里开源中间件RocketMQ。 一. 环境搭建 上传最新的RocketMQ安装包 rocketmq-all-4.6.0-bin-release。 1. 解压配置文件 unzip rocketmq-all-4.6.0-bin-release.zip 报错:

Spring Cloud Alibaba 教程 | RocketMQ(一):快速入门-爱代码爱编程

RocketMQ概述 RocketMQ是一款由阿里研发的高性能高可靠性的分布式消息队列,使用Java语言开发,该项目已经贡献给了Apache基金会,成为Apache的顶级开源项目。 在早期,阿里内部使用ActiveMQ作为其消息传递中间件,随着业务的快速增长,基于ActiveMQ的消息队列集群在处理大规模业务吞吐量时会遇到IO等性能瓶颈,阿里研发团队曾

SpringCloudAlibaba之基于RocketMQ实现服务异步通信-爱代码爱编程

首先咱们先来认识什么是消息队列 MQ 呢? 消息队列与 RocketMQ 消息队列 MQ 消息队列(Message Queue)简称 MQ,是一种跨进程的通信机制,通常用于应用程序间进行数据的异步传输,MQ 产品在架构中通常也被叫作“消息中间件”。它的最主要职责就是保证服务间进行可靠的数据传输,同时实现服务间的解耦。 这么说太过学术,我们看一个项目

Spring Cloud Alibaba 实战(六)RocketMQ篇-爱代码爱编程

1. RocketMQ 简介 RocketMQ 是阿里巴巴开源的分布式消息中间件。支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。它里面有几个区别于标准消息中件间的概念,如Group、Topic、Queue等。系统组成则由Producer、Consumer、Broker、NameServer等。 RocketMQ 特点 支持发布/

SpringCloudAlibaba - 整合 RocketMQ 实现消息生产与消费-爱代码爱编程

目录 前言环境搭建搭建具体实现编写生产者(内容中心)代码测试编写消费者(用户中心)代码测试项目源码 前言 RocketMQ是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务 环境 win10 + Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2

关于我在SpringCloudAlibaba运用和入门Rocketmq-爱代码爱编程

文章目录 学习初心学习内容一、MQ简介1、什么是MQ2、MQ的应用场景3、常见的MQ产品二、RocketMQ入门1、RocketMQ环境搭建2、RocketMQ的架构及概念3、RocketMQ控制台安装三、消息发送和接收1、发送消息2、接收消息四、案例1、订单微服务发送消息2、用户微服务订阅消息五、发送不同类型的消息1、普通消息2、顺序消息3、事务

SpringCloudAlibaba学习-07-SpringCloud整合RocketMQ-爱代码爱编程

部署Rocket首先要部署一个 NameServer 相关介绍参考: https://www.jianshu.com/p/3d8d594d9161 rocket 部署: docker部署 docker-compose version: "3.7" # https://github.com/apache/rocketmq-docker services:

521、Java Spring Cloud Alibaba -【Spring Cloud Alibaba RocketMQ 】 2021.12.27-爱代码爱编程

目录 1、RocketMQ 简介2、使用 Docker 快速搭建 RocketMQ 4.42.1 在 linux 服务器上选择并建立目录;2.2 进入 rocketmq-docker 目录,建立一个名为 broker.conf 的配置文件,内容如下:2.3 还是在 rocketmq-docker 目录,建立一个名为 rocketmq.yaml 的脚

基于RocketMQ实现服务异步通信SpringCloudAlibaba-爱代码爱编程

首先咱们先来认识什么是消息队列 MQ 呢? 消息队列与 RocketMQ 消息队列 MQ 消息队列(Message Queue)简称 MQ,是一种跨进程的通信机制,通常用于应用程序间进行数据的异步传输,MQ 产品在架构中通常也被叫作“消息中间件”。它的最主要职责就是保证服务间进行可靠的数据传输,同时实现服务间的解耦。 这么说太过学术,我们看一个项目

springcloudalibaba(七)rocketmq-爱代码爱编程

7.1 MQ简介 7.1.1 什么是MQ 7.1.2 MQ的应用场景 7.1.2.1 异步解耦 最常见的一个场景是用户注册后,需要发送注册邮件和短信通知,以告知用户注册成功。传统的做法如 下: 此架构下注册、邮件、短信三个任务全部完成后,才返回注册结果到客户端,用户才能使用账号登录。但是对于用户

springcloud集成rocketmq,实现生产者和消费者案例_springcloud rocketmq-爱代码爱编程

目录 一 MQ介绍 二 整合springcloud,实现生产和消费 2.1 生产者微服务服务搭建(user_service_9001)  2.1 消费者微服务服务搭建(order_service_9002) windows下搭建Rocketmq: windows下安装RocketMQ+可视化页面搭建https://blog.csdn.n