上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

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

guduadmin11天前
  1. 问题

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

java.net.SocketException: socket closed

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

An unexpected connection driver error occured 

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

rabbitmq-plugins list

结果没发现这个插件!

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

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

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

提示插件没发现

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

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

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

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

rabbitmq模块启动报java.net.SocketException: socket closed的解决方法,第3张再启动上面的插件启用命令就可以了

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

 查看插件列表也能看到了

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

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

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

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

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

rabbitMq各版本:RabbitMQ Changelog — RabbitMQ

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

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

网友评论

搜索
最新文章
热门文章
热门标签