Spring Boot集成RocketMq(一看就会)

2023-11-05

目录

1.创建topic

2.新建Spring boot项目

3.导入依赖

4.配置yml文件

5.新建Controller(生产服务)

6.新建消费者

7.配置类(定义topic)

8.添加消息以及 消费者查看

8.1 调用接口 往Mq中添加消息

8.2添加消息后  消费者监听到消息  进行消费

9.MQ图形界面控制台查看


1.创建topic

此处使用RocketMq图形界面新建topic

安装RocketMq请移步 =====》》》

RocketMq安装控制台图形界面_Dreams°华的博客-CSDN博客

此处已创建好topic

2.新建Spring boot项目

3.导入依赖

       <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>

4.配置yml文件

     端口 服务器地址   组名

server:
  port: 9091
#rocketmq配置信息
rocketmq:
  #nameservice服务器地址(多个以英文逗号隔开)
  name-server: 127.0.0.1:9876
  #生产者配置
  producer:
    #组名
    group: anran-producer-group
    #目的地(topic:tag)
    #topic
    topic: anran-topic
    #sync tag(同步消息tag)
    sync-tag: anran-sync-tags
    #async tag(异步消息tag)
    async-tag: anran-async-tags
    #oneway tag(单向消息tag)
    oneway-tag: anran-oneway-tags

5.新建Controller(生产服务)

往主题 first_topic 添加信息   

    注意  JmsConfig.TOPIC(主题名要一样 此处用  ‘first_topic’)

import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MessageController {

    @Autowired
    private RocketMQTemplate rocketMQTemplate;//注入Mq
 
    @RequestMapping(value = "/CreateProduct",method = RequestMethod.GET)
    public String  createProduct(String s) {
        //添加信息
        rocketMQTemplate.convertAndSend(JmsConfig.TOPIC,"添加信息为:==="+s);
        return "添加成功";
    }
}

6.新建消费者

此时消费者和生产者 写在同一个项目,也可以写在不同项目,写法一样依赖一样

注意  JmsConfig.TOPIC(主题名要一样 此处用  ‘first_topic’)

consumerGroup = "my-consumer-group"  一个生产者可以有  无数个消费者但是消费者 组名不能一样,Mq根据组名  进行发信息(可以这样理解) 若组名一样  只会发其中一个消费者

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
 
@Component
@RocketMQMessageListener(topic = JmsConfig.TOPIC,consumerGroup = "my-consumer-group")
public class Consumer implements RocketMQListener<String> {
    @Override
    public void onMessage(String message) {
        System.out.println("消费者收到信息:==="+message);
    }
}

7.配置类(定义topic)

public class JmsConfig {
    /**
     * 主题名称 主题一般是服务器设置好 而不能在代码里去新建topic( 如果没有创建好,生产者往该主题发送消息 会报找不到topic错误)
     */
    public static final String TOPIC = "first_topic";
}

    此时运行项目

8.添加消息以及 消费者查看

8.1 调用接口 往Mq中添加消息

 

8.2添加消息后  消费者监听到消息  进行消费

9.MQ图形界面控制台查看

这一步可以没有,只是为了看下添加信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot集成RocketMq(一看就会) 的相关文章

  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • Hibernate 挂起或引发延迟初始化,没有会话或会话已关闭

    我正在增强旧的 Spring Hibernate 应用程序 但我陷入困境 我有一种方法可以读取 3000 多行长的文件 每行都有一条记录 必须与数据库中的某些内容进行比较 然后必须将寄存器添加到数据库 多对多表 表和关系是 Branch h
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • volatile、final 和synchronized 安全发布的区别

    给定一个带有变量 x 的 A 类 变量 x 在类构造函数中设置 A x 77 我们想将 x 发布到其他线程 考虑以下 3 种变量 x 线程安全 发布的情况 1 x is final 2 x is volatile 3 x 设定为同步块 sy
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db

随机推荐

  • 学习总结——小熊派+ESP8266

    文章目录 一 知识点 1 小熊派 2 ESP8266 二 感想 1 小熊派 2 ESP8266 三 经验教训 反思 一 知识点 1 小熊派 1 HAL库的使用 2 点亮LED灯 3 配置GPIO 4 按键输入 循环查询 外部中断 5 串口
  • 【华为OD统一考试A卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 编程:数据开发经验

    基本框架 select field1 field2 field3 field4 数据合成 T4 from 基础数据 select sum count case when condition1 condition2 as field1
  • WinSCP安装教程

    WinSCP是适用于Windows的免费开源SFTP FTP WebDAV S3 SCP客户端 它的主要功能是在本地计算机和远程计算机之间进行文件传输 除此之外 WinSCP还提供脚本和基本文件管理器功能
  • .net @什么意思_U-Net:基于小样本的高精度医学影像语义分割模型

    原论文地址 U Net Convolutional Networks for Biomedical Image Segmentation Pytorch 实现 https github com milesial Pyt orch UNet
  • elasticsearch地理位置总结

    参考 https blog csdn net tang jian dong article details 104446526 https blog csdn net u013041642 article details 94416631
  • linux内核编译问题解决方法

    在linux内核编译过程中 可能会遇到有些文件没有的可能 下面是我用gcc4 6 2编译linux2 6 30 5内核过程中提示的错误 gcc error elf i386 No such file or directory OBJCOPY
  • linux下select()函数

    1 I O处理的模型有5种 1 gt 阻塞I O模型 在这种模型下 若所调用的I O函数没有完成相关的功能 则会使进程挂起 直到相关数据到达才会返回 如常见的对管道 终端 网络设备进行读写时经常会出现这种情况 2 gt 非阻塞I O模型 在
  • Python——基础学习xpath(爬虫)

    python三种解析方法 1 正则 2 bs4 3 xpath Python xpath解析 xpath解析是最常用且最便捷高效的一种解析方法 通用性最强 xpath解析原理 1 实例一个etree的对象 且需要将被解析的页面的源码数据加载
  • 转载,envi对高光谱进行辐射定标和大气校正

    原文地址 http blog sina com cn s blog 764b1e9d0102v59e html 目录 辐射定标和大气校正 概述 辐射定标 多光谱数据FLAASH大气校正 3 1 FLAASH输入数据要求 3 2 详细操作步骤
  • 去除list of list中的引号与括号

    经常分词后是List of list的结构 输出后会存在很多引号与方括号 它其实是一个list的嵌套结构 可以通过将内层的List转化为str再放入新的list中实现转化 a 我要发 SCI 然后 去 四川大学 读博士 result for
  • Laya 实操十七:物理引擎

    物理引擎 export default class test extends Laya Script constructor super Laya Scene3D load res LayaScene SampleScene Convent
  • Python清洗数据具体操作

    数据清洗是指在处理数据之前对数据进行预处理的过程 这个过程通常包括检查数据的完整性 清除数据中的缺失值 异常值和重复值 以及对数据进行格式转换和数据转换等 在 Python 中 可以使用 pandas 库来方便地进行数据清洗 下面是一些常见
  • Android 禁止RecycleView的滑动

    1 问题 使用RecycleView 时 如果数据量很少只有几个 需求不需要它上下左右滑动 在xml配置中加上Android scrollbars none 这只是去掉了滑动bar 但是RecycleView 上下还是能滑动 且有阴影 2
  • 【message:发生错误 Error: D:\微信小程序\second-demo\package.json 对应的 node_modules 不存在】

    微信小程序安装vant weapp报 node module不存在 提示 这里简述项目相关背景 想使用vant weapp写小程序 在安装的时候踩了一些坑 记录一下 1 安装 vant weapp 提示 这里一个一个来描述遇到的问题 我是根
  • 网络驱动程序snull

    由于下次开会要做报告 所以就先把字符设备驱动程序那块搁浅了 先来复习下网络驱动这块 虽然以前看过 学习过网络驱动的相关内容 但是当再次学习这块的时候 仍然有新的收获 或许是时间长不看了 有些东西的印象浅了 或者应了那句话 温故而知新 ok
  • 多线程能有事务吗?

    需求 多线程插入 保证原子性 要么都成功 要么都失败 其中一个线程报错 所有线程回滚 为什么做不了 首先事务的四大特性 ACID 特性都知道吧 面试中张口就来 原子性 Atomicity 一个事务要么全部提交成功 要么全部失败回滚 不能只执
  • SpringFramework核心技术五:面向切面编程(AOP)和代理机制

    AOP与代理 Spring AOP使用JDK动态代理或CGLIB为给定目标对象创建代理 只要有选择 JDK动态代理就是首选 一 代理机制 如果要代理的目标对象实现至少一个接口 则将使用JDK动态代理 目标类型实现的所有接口都将被代理 如果目
  • socket异步编程--libevent的使用

    http www cnblogs com cnspace archive 2011 07 19 2110891 html 这篇文章介绍下libevent在socket异步编程中的应用 在一些对性能要求较高的网络应用程序中 为了防止程序阻塞在
  • Spring Boot集成RocketMq(一看就会)

    目录 1 创建topic 2 新建Spring boot项目 3 导入依赖 4 配置yml文件 5 新建Controller 生产服务 6 新建消费者 7 配置类 定义topic 8 添加消息以及 消费者查看 8 1 调用接口 往Mq中添加