延时消息推送的应用场景想必大家都不陌生:
- 自动收货
- 订单10分钟后自动取消
废话不多说,直接上代码。在 RabbitMQ 3.6.x 开始,RabbitMQ官方提供了延迟队列的插件,可以下载放置到RabbitMQ 根目录下的 plugins 下。延迟队列插件下载地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange
maven依赖如下 application.properties如下 MQ的配置如下
我们在 Exchange 的声明中可以设置exchange.setDelayed(true)来开启延迟队列。以上就是各种配置信息,接下来我们来看producer和consumer。
我们来测试一下效果,我们期望6秒后可以收到消息。
从单元测试来看是没问题的,证明我们的延时消息推送功能正常。



