reply-code=503, reply-text=COMMAND_INVALID - unknown exchange type 'x-delayed-message'

1.日志信息:

2019-09-26 15:27:03.415 ERROR 13580 --- [ 127.0.0.1:5672] o.s.a.r.c.CachingConnectionFactory       : Channel shutdown: connection error; protocol method: #method<connection.close>(reply-code=503, reply-text=COMMAND_INVALID - unknown exchange type 'x-delayed-message', class-id=40, method-id=10)

2.原因分析

延时队列报错

ShutdownSignalException: connection error; protocol method:#method<connection.close>(reply-code=503, reply-text=COMMAND_INVALID - unknown exchange type 'x-delayed-message', class-id=40, method-id=10)

代表没有找到对应x-delayed-message的exchange type

RabbitMQ默认的交换机类型为:

headers、direct、fanout、topic

      

3.解决方法:

1、下载rabbitMQ插件

插件下载地址:https://www.rabbitmq.com/community-plugins.html

选择rabbitmq_delayed_message_exchange插件。

根据安装的RabbitMQ版本选择相对应版本的插件。

这里我本机 RabbitMQ安装的是3.7.18版本的,所以选择下载3.7.x版本的插件。

在下载好之后,解压得到 .ez 结尾的插件包,将其复制到RabbitMQ安装目录下的 plugins 文件夹。

下面是我解压出来的.ez文件:

复制粘贴到plugins文件夹下:

然后通过命令行启用该插件:

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

至此,就添加了x-delayed-message类型的交换机

4.注意问题

RabbitMQ版本为3.7.17时插件能成功安装,但是不能正常使用,依然会报错!!!!

我这里是升级了一个版本,到3.7.18。

或者使用3.6低版本也可以避免此问题。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值