RabbitMQ延迟队列实现 ( 插件版 )
下载 rabbitmq-delayed-message-exchange 插件
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
由于我的RabbitMQ是再Linux服务器中通过Docker安装的,所以先将rabbitmq_delayed_message_exchange-3.9.0.ez插件上传到Linux中 ( 什么位置都可以 )
进入放rabbitmq_delayed_message_exchange-3.9.0.ez插件的目录
将插件拷贝到容器内plugins目录下(oa-rabbitmq-master是RabbitMQ容器的容器名称,也可以使用容器ID)
docker cp rabbitmq_delayed_message_exchange-3.9.0.ez oa-rabbitmq-master:/plugins
进入 RabbitMQ 容器
docker exec -it oa-rabbitmq-master /bin/bash
cd plugins ls |grep delay
在 plugins 内启用 rabbitmq_delayed_message_exchange-3.9.0.ez 插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
退出RabbitMQ容器
exit
重启 RabbitMQ 容器
docker restart oa-rabbitmq-master
最后查看
说明成功了
代码改动如下
发送消息添加延迟毫秒数就可以了