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


相关推荐
代码在改了1 小时前
springboot厨房达人美食分享平台(源码+文档+调试+答疑)
java·spring boot
kylinxjd2 小时前
spring boot发送邮件
java·spring boot·后端·发送email邮件
杨荧2 小时前
【JAVA开源】基于Vue和SpringBoot的旅游管理系统
java·vue.js·spring boot·spring cloud·开源·旅游
2401_857439695 小时前
Spring Boot新闻推荐系统:用户体验优化
spring boot·后端·ux
进击的女IT6 小时前
SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS
java·spring boot·后端
杨半仙儿还未成仙儿7 小时前
Spring框架:Spring Core、Spring AOP、Spring MVC、Spring Boot、Spring Cloud等组件的基本原理及使用
spring boot·spring·mvc
一 乐7 小时前
学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习
gsls2008088 小时前
SpringCloudStream+RocketMQ多topic
rocketmq
IT学长编程9 小时前
计算机毕业设计 二手图书交易系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·二手图书交易系统
艾伦~耶格尔10 小时前
Spring Boot 三层架构开发模式入门
java·spring boot·后端·架构·三层架构