一、说明
在实际业务场景中可能会用到延时消息发送,例如异步回调失败时的重发机制。 RabbitMQ本身不具有延时消息队列的功能,但是可以通过rabbitmq-delayed-message-exchange来实现(也可以通过TTL(Time To Live)、DLX(Dead Letter Exchanges)特性实现,我们主要讲解通过延迟插件来实现的方法)。利用RabbitMQ的这种特性,应该可以实现很多现实中的业务,我们可以发挥想象。
二、安装插件
RabbitMQ的安装请参考我的文章“RabbitMQ安装与使用”,这里我们重点讲插件的安装。
首先到http://www.rabbitmq.com/community-plugins.html网页下载适合的“rabbitmq_delayed_message_exchange插件”。下载完成后将它放到RabbitMQ插件安装目录({rabbitmq-server}/plugins/),然后执行命令rabbitmq-plugins enable rabbitmq_delayed_message_exchange启用插件,执行命令rabbitmq-plugins disable rabbitmq_delayed_message_exchange也可以关闭插件。具体过程可以查看参考文档2。
三、Spring集成RabbitMQ
1、maven配置
2、xml配置
四、延迟队列的使用
1、发送消息Producer
参考文档:
1、http://blog.csdn.net/tongdao/article/details/51638066 RabbitMQ安装与使用
2、http://blog.csdn.net/u014308482/article/details/53036770 rabbitmq 实现延迟队列的两种方式
3、http://docs.spring.io/spring-amqp/docs/1.6.0.RELEASE/reference/html/_reference.html#delayed-message-exchange
联系客服