码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 05、SpringBoot 集成 RocketMQ


    目录

    • SpringBoot集成RocketMQ
      • 消息发送三种方式
        • 1、同步消息
          • producer-springboot
            • 创建项目
            • 添加依赖
            • 配置文件
            • 同步消息发送代码
            • 启动类
            • Test类
          • comsumer-springboot
            • 创建项目
            • 添加依赖
            • 配置文件
            • 同步消息消费代码
        • 2、异步消息
          • 生产者
          • 消费者
        • 3、一次性消息
          • 生产者
          • 消费者
      • 消息消费两种方式
        • 1、集群模式
          • 生产者:
          • 消费者:
        • 2、广播模式
          • 生产者
          • 消费者
      • 顺序消息
        • 生产者
          • 问题:
        • 消费者:
      • 延迟消息
        • 生产者:
        • 消费者:
      • 消息过滤
        • 1、Tag标签过滤
          • 生产者:
          • 消费者:
        • 2、SQL92过滤
          • 生产者:
          • 消费者:
      • 消费状态

    SpringBoot集成RocketMQ

    消息发送三种方式

    1、同步消息

    producer-springboot
    创建项目

    也是创建一个maven项目,添加对应的依赖就是boot项目了

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    添加依赖

    在这里插入图片描述

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.14.RELEASE</version>
            <relativePath/>
        </parent>
        <properties>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-spring-boot-starter</artifactId>
                <version>2.0.4</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    配置文件

    application.properties

    在这里插入图片描述

    同步消息发送代码
    启动类

    在这里插入图片描述

    Test类

    因为没有用web来启动,所以我们来写个测试类就可以了

    在这里插入图片描述

    效果:已经成功发送消息到消息中间件

    在这里插入图片描述
    在这里插入图片描述

    comsumer-springboot
    创建项目

    在这里插入图片描述

    在这里插入图片描述

    添加依赖

    和生产者的依赖差不多

    在这里插入图片描述

    配置文件

    只需要nameserver地址就可以,知道去哪里消费

    在这里插入图片描述

    同步消息消费代码

    在这里插入图片描述

    2、异步消息

    生产者

    在这里插入图片描述

    消费者

    消费者代码没变化,正常消费

    在这里插入图片描述

    3、一次性消息

    生产者

    就是调用方法而已,没有什么区别
    在这里插入图片描述

    消费者

    都是同样的消费代码,不需要改变

    在这里插入图片描述

    消息消费两种方式

    1、集群模式

    开两个消费启动

    在这里插入图片描述

    在这里插入图片描述

    生产者:

    在这里插入图片描述

    消费者:

    集群模式的每个消费者,均衡分配消息进行消费

    在这里插入图片描述
    均衡分配

    在这里插入图片描述

    在这里插入图片描述

    2、广播模式

    每个消费者都能消费到同样的所有消息

    生产者

    在这里插入图片描述

    消费者

    在这里插入图片描述

    顺序消息

    加点基础数据

    在这里插入图片描述

    在这里插入图片描述

    生产者

    在这里插入图片描述

    问题:

    在这里插入图片描述

    解答:

    执行rocketMQTemplate.sendOneWayOrderly()这个发送消息的方法的时候,才会调用到这个rocketMQTemplate.setMessageQueueSelector()这个setxxx方法。

    在这里插入图片描述

    消费者:

    注解上加个顺序消费的参数就可以了

    在这里插入图片描述

    多个结果都是按顺序消费的====创建–付款–完成–推送

    在这里插入图片描述

    延迟消息

    生产者:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    消费者:

    在这里插入图片描述

    如图:

    第一次需要创建topic需要时间,所以假设延迟10秒,第一条消费的时间,因为要创建topic,所以会大于10秒,后面的其他消息就会稳定在10秒。

    经自己测试,后面的其他延迟消息,会上下浮动1秒。

    在这里插入图片描述

    消息转string的其他方法,试下有没有用,没有用

    在这里插入图片描述
    在这里插入图片描述

    消息过滤

    1、Tag标签过滤

    生产者:

    在这里插入图片描述
    在这里插入图片描述

    消费者:

    在这里插入图片描述

    在这里插入图片描述

    2、SQL92过滤

    生产者:

    在这里插入图片描述
    在这里插入图片描述

    消费者:

    在这里插入图片描述

    消费状态

    在这里插入图片描述

  • 相关阅读:
    ECharts数据可视化项目【3】
    这可能是你进腾讯最后的机会了..
    APP 备案公钥、签名 MD5、SHA-1、SHA-256获取方法。
    excel怎么保存为模板,excel一张图怎么设置同一的格式,excel怎么保存为图表样式
    python 多进程并行处理
    G1D14fraud&git&pipenv&df操作&APT论文&RCE37-40&服务器搭建
    python3.9运行出现编码问题,在其他电脑上可以正常运行
    Linux上oracle和mysql的启动,关闭,重启
    基于redis实现互斥锁
    优化C++资源利用:探索高效内存管理技巧
  • 原文地址:https://blog.csdn.net/weixin_44411039/article/details/133886206
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号