rabbitmq模块启动报java.net.SocketException: socket closed的解决方法
- 问题
最近在接手一个项目时,使用的是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-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
来源地址:https://blog.csdn.net/LT_1029/article/details/131805337
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341