SpringBoot整合RocketMq

SpringBoot整合RocketMq

文章目录

  • SpringBoot整合RocketMq
    • 添加依赖
      • [步骤 1:添加 RocketMQ 的依赖 在你的 `pom.xml` 文件中添加以下依赖:](#步骤 1:添加 RocketMQ 的依赖 在你的 pom.xml 文件中添加以下依赖:)
      • [步骤 2:配置 RocketMQ 的属性 在你的 `application.properties` 或 `application.yml` 文件中添加以下配置:](#步骤 2:配置 RocketMQ 的属性 在你的 application.propertiesapplication.yml 文件中添加以下配置:)
      • [步骤 3:编写发送者 创建一个发送者,用于向指定的主题发送消息。](#步骤 3:编写发送者 创建一个发送者,用于向指定的主题发送消息。)
      • [步骤 4:编写消费者 创建一个消费者,用于订阅指定的主题并消费消息。](#步骤 4:编写消费者 创建一个消费者,用于订阅指定的主题并消费消息。)
      • [步骤 5:测试发送者和消费者 在你的应用程序中调用发送者,向指定主题发送消息。同时,确保你的消费者正在运行,以便接收到消息并处理。](#步骤 5:测试发送者和消费者 在你的应用程序中调用发送者,向指定主题发送消息。同时,确保你的消费者正在运行,以便接收到消息并处理。)

添加依赖

步骤 1:添加 RocketMQ 的依赖 在你的 pom.xml 文件中添加以下依赖:

xml 复制代码
    <properties>
        <rocketmq.version>2.1.0</rocketmq.version>
    </properties>
    <!--rocket mq-->
    <dependency>
        <groupId>org.apache.rocketmq</groupId>
        <artifactId>rocketmq-spring-boot-starter</artifactId>
        <version>${rocketmq.version}</version>
    </dependency>

步骤 2:配置 RocketMQ 的属性 在你的 application.propertiesapplication.yml 文件中添加以下配置:

yaml 复制代码
rocketmq:
  name-server: 127.0.0.1:9876
  producer:
    group: variable-monitor-producer-group

步骤 3:编写发送者 创建一个发送者,用于向指定的主题发送消息。

java 复制代码
package com.kang.grafana.rocketmq.producer;

import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 编写发送者 创建一个发送者,用于向指定的主题发送消息
 */
@Service
public class Sender {
    @Autowired
    private RocketMQTemplate rocketMQTemplate;

    public void send(String topic, String message) {
        rocketMQTemplate.convertAndSend(topic, message);
    }
}

步骤 4:编写消费者 创建一个消费者,用于订阅指定的主题并消费消息。

java 复制代码
package com.kang.grafana.rocketmq.consume;

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;

@Service
@RocketMQMessageListener(topic = "variable-monitor-topic", consumerGroup = "variable-monitor-consumer-group")
public class Consumer implements RocketMQListener<String> {
    @Override
    public void onMessage(String message) {
        System.out.println("Received message: " + message);
    }
}

步骤 5:测试发送者和消费者 在你的应用程序中调用发送者,向指定主题发送消息。同时,确保你的消费者正在运行,以便接收到消息并处理。

java 复制代码
package com.kang.grafana.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.kang.grafana.rocketmq.producer.Sender;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.concurrent.ThreadPoolExecutor;

/**
 * @Author Emperor Kang
 * @ClassName RocketMqController
 * @Description TODO
 * @Date 2023/9/12 14:17
 * @Version 1.0
 * @Motto 让营地比你来时更干净
 */
@RestController
@RequestMapping("/rocket")
public class RocketMqController {
    @Autowired
    private ThreadPoolExecutor bigdataThreadPoolExecutor;

    @Autowired
    private Sender sender;

    @RequestMapping("/send/message")
    public Object send(){
        String topic = "variable-monitor-topic";
        String message = JSON.toJSONString(bigdataThreadPoolExecutor, SerializerFeature.WriteMapNullValue);
        sender.send(topic,message);
        return Boolean.TRUE;
    }
}


相关推荐
砍材农夫2 小时前
spring-ai|Spring‑AI 2.0.0 新特性 + 入门教程
spring boot·spring·spring cloud
小强库计算机毕业设计4 小时前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统
二炮手亮子6 小时前
消息队列篇——RocketMQ
rocketmq
笨鸟飞不快13 小时前
RocketMQ Lite Topic 流程梳理与设计解读
后端·rocketmq
Flittly1 天前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring
小强库计算机毕业设计1 天前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
毕设单片机2 天前
顺顺救助站流浪动物领养系统的设计与实现46649----SpringBoot + Vue.js + MySQL|领养审核、寻宠发布、救助站点与动物论坛协同
java·spring boot·管理系统·流浪动物
云烟成雨TD2 天前
Micrometer 系列【63】统一观测:基于 Spring Boot 的生产级演示案例 | 基于 OTLP 集成 Prometheus + Jaeger
spring boot·云原生·prometheus
csdn2015_2 天前
springboot +mybatis 查询myql开启程序级别缓存
spring boot·缓存·mybatis
chuan.bai2 天前
Java RAG 实战(第 8 篇):Spring Boot RAG 查询 API
java·spring boot·贪心算法