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


相关推荐
enjoy嚣士8 小时前
springboot 之 HTML与图片生成 (2)
spring boot·html转图片
白初&9 小时前
SpringBoot后端基础案例
java·spring boot·后端
再睡亿分钟!10 小时前
Spring MVC 的常用注解
java·开发语言·spring boot·spring
麦兜*11 小时前
MongoDB 常见错误解决方案:从连接失败到主从同步问题
java·数据库·spring boot·redis·mongodb·容器
爱吃烤鸡翅的酸菜鱼15 小时前
【Spring】原理解析:Spring Boot 自动配置
java·spring boot
十八旬15 小时前
苍穹外卖项目实战(day7-1)-缓存菜品和缓存套餐功能-记录实战教程、问题的解决方法以及完整代码
java·数据库·spring boot·redis·缓存·spring cache
郑洁文16 小时前
基于SpringBoot的天气预报系统的设计与实现
java·spring boot·后端·毕设
optimistic_chen16 小时前
【Java EE进阶 --- SpringBoot】Spring DI详解
spring boot·笔记·后端·spring·java-ee·mvc·di
中国胖子风清扬16 小时前
Rust 日志库完全指南:从入门到精通
spring boot·后端·rust·学习方法·logback
xiaogg367817 小时前
springboot rabbitmq 延时队列消息确认收货订单已完成
spring boot·rabbitmq·java-rabbitmq