当前位置: 首页 > ops >正文

Windows11安装rockerMq5.0+以及springboot集成rockerMq

安装jdk17,rockermq5.0+需要jdk11+,我这里使用jdk17

配置系统环境变量

ROCKETMQ_HOME

D:\work\mmq\rocketmq-all-5.2.0-bin-release

编写启动脚本

D:
cd D:\work\mmq\rocketmq-all-5.2.0-bin-release\bin
start mqnamesrv.cmd
start mqbroker.cmd -n 127.0.0.1:9876 -c ..\conf\broker.conf

启动 会弹出2个黑窗口 说明启动成功

Windows版RockerMq5.0+服务端的包-包含dashboard的图形化包

启动 dashboard 图形化界面

 访问地址: http://localhost:8080/#/

创建一个springboot的项目 集成rockermq

引入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.0</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.xulk</groupId><artifactId>spring-boot</artifactId><version>0.0.1-SNAPSHOT</version><name>springAI</name><description>Demo project for Spring Boot</description><packaging>jar</packaging><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.2</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--        <dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>3.0.0</version></dependency>--><!-- RocketMQ --><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.3.2</version> <!-- 使用与您RocketMQ服务端匹配的版本 --></dependency><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client-java</artifactId><version>5.0.7</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

创建配置文件

logging:config: classpath:logback.xml
server:port: 8081# RocketMQ Config
rocketmq:name-server: 127.0.0.1:9876producer:group: my-consumer_group  # 生产者组名

消息生产者  普通消息和延迟消息


import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.text.SimpleDateFormat;
import java.util.Date;/*** 消息生产者*/@Service
public class MqProducer {@Autowiredprivate RocketMQTemplate rocketMQTemplate;/*** 发送消息* @param topic 消息主题* @param message 消息内容*/public void sendMessage(String topic, String message) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String currentTime = sdf.format(new Date());rocketMQTemplate.convertAndSend(topic, currentTime + message);}//定时/延时消息发送public  void sendDeliveryTimestampMessage(  ) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String currentTime = sdf.format(new Date());System.out.println( "发送时间:  " + currentTime );currentTime = currentTime + "  ==== AAAAAAAAAAAAAAAAAAAAAAAAAA";Message message = new Message("my-topic", "", "", currentTime.getBytes());//time这里是消费者的接收时间,单位是毫秒。Long time = System.currentTimeMillis() + 15 * 60 * 1000;message.setDeliverTimeMs(time);DefaultMQProducer producer = rocketMQTemplate.getProducer();try {producer.send(message);}catch (Exception e){System.out.println( "发送异常----{}" + e.getLocalizedMessage() );}}}

消息消费者

package com.xxl.job.executor.mq;import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;import java.text.SimpleDateFormat;
import java.util.Date;/*** 消息消费者*/@Service
@RocketMQMessageListener(topic = "my-topic", consumerGroup = "my-consumer_group")
public class MqConsumer implements RocketMQListener<String> {/*** 消费对应 topic 主题的消息* @param message 生产者发送过来的消息*/@Overridepublic void onMessage(String message) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String currentTime = sdf.format(new Date());System.out.println( "消费端 ======== 接收时间:  " + currentTime );System.out.println("消费端 消费消息" + " ========== " + message);}}

创建一个 Controller 

import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class RocketMqController {@ResourceMqProducer mqProducer;/*** 发送消息*/@GetMapping("send")public void send( ) {
//        mqProducer.sendMessage("my-topic", "666666666666668888888");mqProducer.sendDeliveryTimestampMessage();}}

浏览器请求

http://localhost:8081/send

去mq的可视化页面查询  收到消息

http://www.xdnf.cn/news/6632.html

相关文章:

  • 现代计算机图形学Games101入门笔记(十四)
  • YOLO12改进-Backbone-引入MobileNetV4替换backbone,平衡精度与效率的问题
  • 在服务器上安装AlphaFold2遇到的问题(1)
  • LLaMA-Factory:准备模型和数据集
  • 【软件测试学习day8】性能测试相关指标
  • WebGL2光照效果
  • DeepSeek解读道德经 第三十四章
  • 背包问题详解
  • 华为云Flexus+DeepSeek征文|SpringBoot开发实战:基于ModelArts Studio高效集成DeepSeek大模型服务
  • 【“星睿O6”评测】对比高通8Gen3分类、检测、分割、超分网络的AIBenchmark测试
  • 对置式光电传感器市场报告:预计2031年全球市场销售额将攀升至 5.68 亿美元
  • ChatGPT再升级!
  • JavaScript 时间转换:从 HH:mm:ss 到十进制小时及反向转换
  • 拟合(最小二乘拟合)
  • OpenCV下安装opencv_contrib 扩展模块进行人脸特征识别mingw32
  • IDEA怎么汉化idea中文改回英文版
  • 【论文阅读】KIMI K1.5: SCALING REINFORCEMENT LEARNING WITH LLMS
  • (7)python开发经验
  • Invicti-Professional-V25.5
  • 尝试解引用泛型指针void*
  • 衡量 5G 和未来网络的安全性
  • UI自动化测试详解
  • Transformer 模型与注意力机制
  • handsome主题美化及优化:10.1.0最新版 - 1
  • 机器视觉光源选型解析:照亮工业检测的“智慧之眼”
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice自定义Word模版中的数据区域
  • 大模型的实践应用43-基于Qwen3(32B)+LangChain框架+MCP+RAG+传统算法的旅游行程规划系统
  • Quasar组件 Carousel走马灯
  • 小结:网页性能优化
  • 三轴云台之智能分析与识别技术篇