系列文章分布式系统开发1——MinIO 对象存储分布式系统开发2——Redis 缓存与分布式锁分布式系统开发3——RabbitMQ独立模块分布式系统开发4——DubboZookeeperRPC服务分布式系统开发5——整合所有组件分布式系统开发6——项目打包部署与Nginx代理前端前序文章windows下RabbitMQ的使用(1)——下载与安装windows下RabbitMQ的使用(2)——安装插件与创建队列按照上文先启动RabbitMQ并创建一个简单队列名为 testMQ 后文用到了这个队列如果你有自己的队列名后文对应替换就行。本文在上文分布式系统开发2——Redis 缓存与分布式锁的基础上创建本模块。版本IDEA :2026.1JDK:17maven:3.9.xrabbitMQ:4.3.x1.创建模块右击父模块点击“新建然后选择“模块”模块名为 ds-rabbit构建系统选Maven这里JDK选17然后选 创建。创建完后想结构如下2.增加依赖点击当前模块ds-rabbit模块的依赖文件pom.xml然后增加下面的依赖dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependency/dependencies增加完以后注意刷新一下更新一下依赖。3. 新增配置文件还是遵循“谁用谁配置”的原则本模块会写关于rabbitMQ的配置最后整合的时候会删除这些配置。右击当前模块的resources文件夹选择“新建”然后选择“文件”文件名为application.yml配置文件参考如下server:port:8083spring:rabbitmq:host:localhostport:5672username:guestpassword:guestvirtual-host:/注意这里的用户名、密码、端口号和你实际的rabbitMQ的配置一样。4.新增配置类右击当前模块main文件夹下的java文件夹选择“新建”然后选择 “软件包”软件包名为com.guo.mq.config创建完后继续右击config文件夹选择“新建”然后选择“Java类”类名为:RabbitMQConfig类的参考代码如下packagecom.guo.mq.config;importorg.springframework.amqp.core.*;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;ConfigurationpublicclassRabbitMQConfig{// 统一队列名publicstaticfinalStringHELLO_QUEUEtestMQ;publicstaticfinalStringEXCHANGEdemo.exchange;publicstaticfinalStringROUTING_KEYdemo.routing;BeanpublicQueuehelloQueue(){// 简单持久化关闭、hello 标准模式returnnewQueue(HELLO_QUEUE,false);}BeanpublicDirectExchangeexchange(){returnnewDirectExchange(EXCHANGE);}BeanpublicBindingbinding(Queuequeue,DirectExchangeexchange){returnBindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY);}}注意HELLO_QUEUE后面的跟的队列的名字一定要和你实际的队列名一致。其他两处EXCHANGE 、ROUTING_KEY 本文没有使用只简单配置了。5.新增消费者右击当前模块的mq文件夹选择“新建”然后选择“软件包”包名为com.guo.mq.consumer然后右击刚才创建的consumer文件夹选择“新建”然后选择“Java类”类名为:MessageConsumer参考代码如下packagecom.guo.mq.consumer;importcom.guo.mq.config.RabbitMQConfig;importorg.springframework.amqp.rabbit.annotation.RabbitListener;importorg.springframework.stereotype.Component;ComponentpublicclassMessageConsumer{RabbitListener(queuesRabbitMQConfig.HELLO_QUEUE)publicvoidreceive(Stringmessage){System.out.println(【消费者收到】message);}}6.新增/修改启动类右击当前模块的mq文件夹选择“新建”然后选择“Java类”类名为RabbitMQApplication参考代码如下packagecom.guo.mq;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplicationpublicclassRabbitMQApplication{publicstaticvoidmain(String[]args){SpringApplication.run(RabbitMQApplication.class,args);}}7.新增测试代码右击当前模块的测试部分test文件夹下的java文件夹选择“新建”然后选“Java类”类名为RabbitMQAppliactionTests参考代码如下importcom.guo.mq.RabbitMQApplication;importcom.guo.mq.config.RabbitMQConfig;importorg.junit.jupiter.api.Test;importorg.springframework.amqp.rabbit.core.RabbitTemplate;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;SpringBootTest(classesRabbitMQApplication.class)publicclassRabbitMQAppliactionTests{AutowiredprivateRabbitTemplaterabbitTemplate;TestvoidsendHelloMsg()throwsInterruptedException{StringmsgHello World RabbitMQ;rabbitTemplate.convertAndSend(RabbitMQConfig.HELLO_QUEUE,msg);System.out.println(【测试生产者发送完成】msg);}}8.执行测试点击测试代码可以看到向RabbitMQ发送了消息消费者也收到了消息。本文参考代码如1百度网盘通过网盘分享的文件ds-demo(3).zip链接: https://pan.baidu.com/s/1K3I2DSd7cyHy8EB6Iktmzg?pwdakv3 提取码: akv32我用夸克网盘给你分享了「ds-demo(3).zip」点击链接或复制整段内容打开「夸克APP」即可获取。/6aae3b5736链接https://pan.quark.cn/s/3d5866a34d21?pwdN415提取码N415
企业数字化 ERP 产品动态
相关推荐
构建Claude Code项目大脑:CLAUDE.md模板库实战指南 1. 从“会聊天”到“能干活”:模板到底补上了哪块短板我第一次用 Claude Code 的时候,感受跟大多数刚上手的人一样:这家伙写代码确实猛,但用起来总有一种“失控感”。你在终端里跟它聊,它能在几十秒内帮你改完一个文件… · 2026/9/26 8:07:49
数据结构C/C++代码实现包:40+文件编译运行与避坑指南 简介:这份资源面向正在学习数据结构课程、准备考试或需要动手实现算法的同学,针对课堂听懂但代码写不出的常见困境,提供了一套可直接参考的C/C实现集合。压缩包共35个文件,以34个cpp源码为主,另附1份md说明文档&#x… · 2026/9/26 8:07:37
CustomTkinter实战:打造现代Python桌面GUI,从美化到打包 写Python项目的人多半都有过这种经历:逻辑、算法、数据处理全写利索了,信心满满地双击运行,结果弹出来一个灰扑扑的窗口,按钮硬邦邦的,字体土里土气,整个界面像是从上个世纪穿越来的。我被这个场景坑过太多… · 2026/9/26 8:07:37
JNPF快速开发平台任意文件读取漏洞剖析与安全加固指南 做Java服务端开发或者搞安全工作的人,最近应该都注意到JNPF快速开发平台爆出任意文件读取漏洞的消息。作为一套被不少企业用在内部系统搭建上的低代码平台,这个漏洞的影响范围并不小,很多用JNPF做了内部OA、CRM、审批流系统的团队,… · 2026/9/26 8:46:44
Web安全完全指南:按角色拆解威胁模型、XSS、CSRF与部署加固 做 Web 这块时间长了,会越来越相信一个判断:真正把人坑惨的安全事故,绝大多数不是什么高深的零日漏洞,而是几个早被写进教科书的低级问题——一个没做输出编码的评论框、一份被写进前端打包产物的密钥、一个默认打开目录列表的服务… · 2026/9/26 8:46:44
基于OpenCV的交通路口红绿灯控制系统毕业设计源码解析 简介:Python与OpenCV的交通路口红绿灯控制系统源码案例,面向计算机、电子或自动化专业学生,可用于毕业设计或课程设计阶段快速搭建智能交通控制原型。项目通过摄像头或视频流检测车辆存在性,借助颜色空间转换、阈值分割、形态学处… · 2026/9/26 8:46:38
电商API接口接入的准备工作:从文档梳理到沙箱联调与幂等设计 1. 为什么说接入工作九成输在“准备”上最近看不少人在折腾codex接deepseek、vscode接大模型这类API接入,每天都有新教程出来。这类工具型API接入,本质上就是拿一个Key、调一个接口、渲染一下结果,失败了大不了重来。但我做了几年电商系统开发… · 2026/9/26 8:46:38
GitHub热榜五项目解析:Agent记忆、桌面操作、自托管与安全评测 9.22这期GitHub热榜有个很明显的信号:榜单前排不再是清一色的“新模型发布”或者“LLM工具链缝合怪”,而是agent框架、computer-use、自托管环境这三个关键词来回刷屏。我把榜单上下的项目筛了一遍,挑了5个方向有代表性的,覆盖了A… · 2026/9/26 8:46:25
本地CLI+轻量LLM的Git代码审查工作流 1. 项目概述:这不是一个“工具”,而是一套可落地的代码审查工作流重构方案“open-code-review”这个名字乍看像某个开源项目,但结合当前热词里反复出现的CLI、LLM、git、codex cli、dify、prompt injection、temperature、embedding等关键词&… · 2026/9/26 8:46:19
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46