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;
                    }
                });

 

posted @ 2019-08-02 16:01  蓝团青  阅读(1065)  评论(0编辑  收藏  举报