rabbitmq使用延迟时报异常

Posted lantuanqing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rabbitmq使用延迟时报异常相关的知识,希望对你有一定的参考价值。

声明交换机为延迟时报异常( 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;
                    
                );

 

以上是关于rabbitmq使用延迟时报异常的主要内容,如果未能解决你的问题,请参考以下文章

启动RabbitMq服务时报错

RabbitMQ 实现消息队列延迟

mall整合RabbitMQ实现延迟消息

rabbitmq死信队列及延迟队列

RabbitMQ一文带你搞定RabbitMQ延迟队列

rabbitmq延迟消息