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

最后查看

 

 说明成功了

代码改动如下

 

 

发送消息添加延迟毫秒数就可以了

 

posted @ 2023-03-10 13:53  何童鞋  阅读(178)  评论(0编辑  收藏  举报