声明交换机为延迟时报异常( unknown exchange type 'x-delayed-message')的解决方法
服务端需下载安装插件:
1.下载插件包
2.将下载后的插件包移至服务安装目录下
rpm -ql rabbitmq-server查询安装位置
将下载的ez结尾的文件移至/plugins/目录下
3.启动插件
[root@localhost plugins]# rabbitmq-plugins enable rabbitmq_delayed_message_exchange
[root@localhost plugins]# systemctl restart rabbitmq-server.service
4.消息发送时添加head
rabbitTemplate.convertAndSend("test_publish_exchange",routingKey,content,new MessagePostProcessor() { @Override public Message postProcessMessage(Message message) throws AmqpException { //设置消息持久化 //message.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT); //message.getMessageProperties().setHeader("x-delay", "6000"); message.getMessageProperties().setDelay(6000); return message; } });