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

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

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

一、原因分析

延时队列报错

ShutdownSignalException: connection error; protocol method:#method(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 报错问题解决_第1张图片

rabbitMQ x-delayed-message 报错问题解决_第2张图片

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

rabbitMQ x-delayed-message 报错问题解决_第3张图片

二、安装插件

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

rabbitMQ x-delayed-message 报错问题解决_第4张图片

三、启动插件

rabbitMQ x-delayed-message 报错问题解决_第5张图片

四、使用方法

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

 

你可能感兴趣的:(微服务与SOA)