新闻详情

新闻详情

首页 / 资讯中心 / 详情

RabbitMQ 环境配置和 DirectRabbitConfig 的 SpringBoot 4.0.X 版本

发布时间:2026/10/1 9:29:27来源:尧图网络
RabbitMQ 环境配置和 DirectRabbitConfig 的 SpringBoot 4.0.X 版本
一、Rabbit MQ隧道的创建我不想让外面的网络访问我都云服务器我只让我本机来访问我的云服务器仅限我本地测试还未上线。我给我的RabbitMQ 设置了本地的隧道但是只设置了端口号为15672 的端口号这时候是我的RabbitMQ 的可视化插件的入口打开云服务器之后用浏览器访问 127.0.0.1:15672 就能进去可视化界面但是我并没有给我的代码的端口5672 端口给释放所以我运行代码报出了下面的错误。解决方法在云服务器上给Rabbti MQ的端口号为5672 的端口给释放开来。步骤1. 先右键你的云服务器2.右键之后点开属性3. 点击隧道再点击添加4. 添加下面的规则端口号为 5672 两个都是5672源主机和目标主机都是localhost本机的意思添加完毕之后重启解决程序访问 Rabbit MQ 端口未被释放的问题二、SpringBoot 4.0.X 版本下 Rabbit MQ 的配置的更新在SpringBoot 4.0.X 版本下 spring.rabbitmq.listener.simple.retry.max-attempts5 已经被废弃改名了。所以因为找不到 spring.rabbitmq.listener.simple.retry.max-attempts5 所以会标红需要改为spring.rabbitmq.listener.simple.retry.max-retries5 默认重试 5 次。这是最新的mq配置文件## mq ## spring.rabbitmq.host127.0.0.1 spring.rabbitmq.port5672 spring.rabbitmq.usernameadmin spring.rabbitmq.passwordadmin #消息确认机制默认auto spring.rabbitmq.listener.simple.acknowledge-modeauto #设置失败重试 5次 spring.rabbitmq.listener.simple.retry.enabledtrue spring.rabbitmq.listener.simple.retry.max-retries5虽然老的文件可能会正常运行但是其中的弯弯绕绕太多博主搞不明白从SprintBoot 的3.0.X 版本到 4.0.X 本就是一个大挑战所有的环境都可能出问题。三、SpringBoot4 Spring AMQP3类改名了Jackson2JsonMessageConverter是适配 Jackson2 的类在 Spring AMQP3SpringBoot4 配套里废弃换成了JacksonJsonMessageConverter适配 Jackson3。这两个报错的原因就是导入了被废弃的包现在使用的是下面这两个import org.springframework.amqp.support.converter.JacksonJsonMessageConverter;Bean public MessageConverter jsonMessageConverter(){ return new JacksonJsonMessageConverter(); }包路径不变org.springframework.amqp.support.converter.只是类名去掉了2。DirectRabbitConfig SpringBoot 3.X 版本的package com.example.lotterysystem.common.config; import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amqp.core.DirectExchange; import org.springframework.amqp.core.Queue; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; Configuration public class DirectRabbitConfig { public static final String QUEUE_NAME DirectQueue; public static final String EXCHANGE_NAME DirectExchange; public static final String ROUTING DirectRouting; /** * 队列 起名DirectQueue * * return */ Bean public Queue directQueue() { // durable:是否持久化,默认是false,持久化队列会被存储在磁盘上当消息代理重启时仍然存在暂存队列当前连接有效 // exclusive:默认也是false只能被当前创建的连接使⽤⽽且当连接关闭后队列即被删除。此参考优先级⾼于durable // autoDelete:是否⾃动删除当没有⽣产者或者消费者使⽤此队列该队列会⾃动删除。 // return new Queue(DirectQueue,true,true,false); // ⼀般设置⼀下队列的持久化就好,其余两个就是默认false return new Queue(QUEUE_NAME,true); } /** * Direct交换机 起名DirectExchange * * return */ Bean DirectExchange directExchange() { return new DirectExchange(EXCHANGE_NAME,true,false); } /** * 绑定 将队列和交换机绑定, 并设置⽤于匹配键DirectRouting * * return */ Bean Binding bindingDirect() { return BindingBuilder.bind(directQueue()) .to(directExchange()) .with(ROUTING); } Bean public MessageConverter jsonMessageConverter(){ new Jackson2JsonMessageConverter(); } }DirectRabbitConfig SpringBoot 4.X 版本的package com.example.lotterysystem.common.config; import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amqp.core.DirectExchange; import org.springframework.amqp.core.Queue; import org.springframework.amqp.support.converter.JacksonJsonMessageConverter; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; Configuration public class DirectRabbitConfig { public static final String QUEUE_NAME DirectQueue; public static final String EXCHANGE_NAME DirectExchange; public static final String ROUTING DirectRouting; /** * 队列 起名DirectQueue * * return */ Bean public Queue directQueue() { // durable:是否持久化,默认是false,持久化队列会被存储在磁盘上当消息代理重启时仍然存在暂存队列当前连接有效 // exclusive:默认也是false只能被当前创建的连接使⽤⽽且当连接关闭后队列即被删除。此参考优先级⾼于durable // autoDelete:是否⾃动删除当没有⽣产者或者消费者使⽤此队列该队列会⾃动删除。 // return new Queue(DirectQueue,true,true,false); // ⼀般设置⼀下队列的持久化就好,其余两个就是默认false return new Queue(QUEUE_NAME,true); } /** * Direct交换机 起名DirectExchange * * return */ Bean DirectExchange directExchange() { return new DirectExchange(EXCHANGE_NAME,true,false); } /** * 绑定 将队列和交换机绑定, 并设置⽤于匹配键DirectRouting * * return */ Bean Binding bindingDirect() { return BindingBuilder.bind(directQueue()) .to(directExchange()) .with(ROUTING); } Bean public MessageConverter jsonMessageConverter(){ return new JacksonJsonMessageConverter(); } }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

腾讯WeKnora深度实践:Agentic RAG知识库部署与调优指南 2026/10/2 5:47:44

腾讯WeKnora深度实践:Agentic RAG知识库部署与调优指南

1. 为什么我花了两周时间折腾 WeKnora第一次看到 WeKnora 这个名字,是在一个做企业知识管理的群里。有人甩了张截图,说腾讯微信团队开源了一个 AI 知识库项目,能直接把一堆 PDF、Word、Markdown 丢进去,然后用自然语言问它问题&am…

阅读更多 →
从零做AI工程:技术栈拆解与OCR全链路实战指南 2026/10/2 5:47:43

从零做AI工程:技术栈拆解与OCR全链路实战指南

做AI工程一年半,从连CUDA是什么都不知道,到手里两个OCR服务稳定扛着线上流量,我想把这条"从零起步"的路仔细拆一遍。这个标题太容易引发误会了——很多人以为AI工程的开端是学Transformer,是啃反向传播公式,…

阅读更多 →
端侧LLM部署实战:从量化到推理引擎的完整链路 2026/10/2 5:47:43

端侧LLM部署实战:从量化到推理引擎的完整链路

1. 端侧 LLM 部署到底在解决什么问题端侧 Agent 这个话题最近一年被聊得很多,但真正落到工程上,第一道坎从来不是 Agent 的编排逻辑,而是模型怎么塞进设备里还能跑得动。我见过太多团队在云端把 Agent 流程跑通之后,一到端侧就卡在…

阅读更多 →
AI Agent地基:状态编排、工具调用与并发优化实战指南 2026/10/2 5:47:36

AI Agent地基:状态编排、工具调用与并发优化实战指南

9月22日这一期的GitHub热榜,我刷完之后最大的感受不是“又出了什么新玩具”,而是大家终于开始认认真真给AI agent造地基了。前五名里有三个项目都属于同一类:不是某个炫酷的demo,不是又一个大模型套壳,而是给AI agent做…

阅读更多 →
OpenRig:开源自动化角色绑定工作流,让骨骼权重与控制器搭建更高效 2026/10/2 5:47:36

OpenRig:开源自动化角色绑定工作流,让骨骼权重与控制器搭建更高效

做角色动画这几年,我花在“绑手”上的时间一直比真正“动手”做动画的时间多。一个中等精度的角色模型进管线,光是把骨骼摆正、权重刷匀、控制器理顺,就得占掉小半天;要是模型拓扑再乱一点,返工两三轮也不算稀奇。Open…

阅读更多 →
AI Agent基础设施实战:编排、记忆与多智能体通信解析 2026/10/2 5:47:36

AI Agent基础设施实战:编排、记忆与多智能体通信解析

GitHub 热榜是我保持技术嗅觉的一个重要渠道,周末刷一遍已经成了习惯。9月22日这一期榜单很有意思:前五名里,三个项目都在给 AI agent 造地基。一个在补运行时编排,一个在做长期记忆层,还有一个是专门解决多智能体之间…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉