rabbitmq模块启动报java.net.SocketException: socket closed的解决方法

  1. 问题

最近在接手一个项目时,使用的是spring-cloud微服务构架,mq消息消费模块是单独一个模块,但启动这个模块一直报如下错误:

java 复制代码
java.net.SocketException: socket closed

这个错误是这个模块注册不到nacos报的错,刚开始就是检查模块的nacos配置和rabbitmq的配置,都没发现问题!后面详情看错误时发现还有这么一个警告的提示:

java 复制代码
An unexpected connection driver error occured 

就查了下,这个错误跟rabbitmq-delayed-message-exchange插件有很大关系,于是rabbitmq插件查询命令:

java 复制代码
rabbitmq-plugins list

结果没发现这个插件!

然后尝试用以下的命令启用这个插件:

bash 复制代码
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

提示插件没发现

于是就在官网先根据我本地rabbitmq的版本(3.9.4),下载了对应版本的插件(3.9.0),3.9版本只有这个版本的插件,下载地址:

Releases · rabbitmq/rabbitmq-delayed-message-exchange (github.com)

下载完成放到mq安装目录的plugins文件夹下

再启动上面的插件启用命令就可以了

查看插件列表也能看到了

从管理端Exchanges-Add a new exchange中的type会多一个"x-delayed-message"选项,之前是没有的。

再启动这个模块,就能正常注册上去了!

结尾再附上rabbitmq的官方下载链接:

rabbitMq各版本:RabbitMQ Changelog --- RabbitMQ

rabbitMq各版本对应的ErLang版本:RabbitMQ Erlang Version Requirements --- RabbitMQ

erLang下载地址:OTP 24.0 Release Candidate 1 - Erlang/OTP

相关推荐
@淡 定4 分钟前
Spring Boot 的配置加载顺序
java·spring boot·后端
龙大大L7 分钟前
第五章:5.3 ESP32物联网应用:阿里云IoT平台与腾讯云IoT平台的数据上传与远程控制
java·物联网·struts·esp32
s91236010133 分钟前
rust REGEX和lazy_static 和struct 混用
java·前端·javascript
淬渊阁1 小时前
Go package
java·开发语言
CoderCodingNo1 小时前
【GESP】C++二级真题 luogu-B4259 [GESP202503 二级] 等差矩阵
java·c++·矩阵
佳腾_1 小时前
【Web应用服务器_Tomcat】二、Tomcat 核心配置与集群搭建
java·前端·中间件·tomcat·web应用服务器
聂 可 以1 小时前
IntelliJ IDEA修改实体类成员变量的名称(引入了该实体类的全部文件也会自动更新变量的名称)
java·ide·intellij-idea
冰茶_1 小时前
C#中常见的设计模式
java·开发语言·microsoft·设计模式·微软·c#·命令模式
.似水2 小时前
2025.4.22_C_可变参数列表
java·c语言·算法
禅与Bug的修复艺术2 小时前
JAVA后端开发常用的LINUX命令总结
java·linux·面试·java面试·后端开发·java后端·面试经验