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;
    }
}


相关推荐
linmengmeng_131413 小时前
【总结】MyBatis-Plus批量插入与清表的正确姿势
java·spring boot·mysql·mybatis
高级程序源13 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
暮雨哀尘15 小时前
JAVA基础练习(四):SpringBoot 实现简易登录功能
java·spring boot·eclipse·maven
VXbishe17 小时前
【课程设计】基于SpringBoot的乡村政务服务系统的设计与实现-计算机毕设77011
javascript·vue.js·spring boot·python·php·课程设计·政务
vx_BS8133019 小时前
【项目编号:project51381】Spring Boot 婚纱摄影管理系统:套餐预约、在线咨询、支付与客片展示的一站式业务实现
java·spring boot·eclipse·tomcat·mybatis
雪芽蓝域zzs19 小时前
第11节:分页查询(MyBatis 实现分页,后端最常用功能)
spring boot
计算机毕设定制辅导-无忧学长19 小时前
《基于SpringBoot的中学教师数字胜任力测评网站的设计与实现》
java·vue.js·spring boot·mysql·中学教师数字胜任力测评网站
小蒜学长19 小时前
基于Java的论坛数据可视化分析系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·数据可视化·论坛系统
青山木19 小时前
RocketMQ 入门到原理(一):整体架构与消息的生命周期
java·分布式·后端·中间件·架构·rocketmq