最近启动一个spring boot与rabbitMQ结合的项目总是报以下错误:

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

一、原因分析

延时队列报错

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

二、解决方法

1、下载rabbitMQ插件

进入rabbitMQ列表

rabbitMQ x-delayed-message 报错问题解决

rabbitMQ x-delayed-message 报错问题解决

根据自己安装的rabbitMQ版本进行下载插件

rabbitMQ x-delayed-message 报错问题解决

二、安装插件

拷贝到rabbitMQ安装目录下的plugin目录下

rabbitMQ x-delayed-message 报错问题解决

三、启动插件

rabbitMQ x-delayed-message 报错问题解决

四、使用方法

//...elided code ...
Map<String,Object> args = new HashMap<String,Object>();
args.put("x-delayed-type","direct");
channel.exchangeDeclare("my-exchage","x-delayed-message",true,false,args);
//... more code

 

相关文章: