一、說(shuō)明
在實(shí)際業(yè)務(wù)場(chǎng)景中可能會(huì)用到延時(shí)消息發(fā)送,例如異步回調(diào)失敗時(shí)的重發(fā)機(jī)制。 RabbitMQ本身不具有延時(shí)消息隊(duì)列的功能,但是可以通過(guò)rabbitmq-delayed-message-exchange來(lái)實(shí)現(xiàn)(也可以通過(guò)TTL(Time To Live)、DLX(Dead Letter Exchanges)特性實(shí)現(xiàn),我們主要講解通過(guò)延遲插件來(lái)實(shí)現(xiàn)的方法)。利用RabbitMQ的這種特性,應(yīng)該可以實(shí)現(xiàn)很多現(xiàn)實(shí)中的業(yè)務(wù),我們可以發(fā)揮想象。
二、安裝插件
RabbitMQ的安裝請(qǐng)參考我的文章“RabbitMQ安裝與使用”,這里我們重點(diǎn)講插件的安裝。
首先到http://www.rabbitmq.com/community-plugins.html網(wǎng)頁(yè)下載適合的“rabbitmq_delayed_message_exchange插件”。下載完成后將它放到RabbitMQ插件安裝目錄({rabbitmq-server}/plugins/),然后執(zhí)行命令rabbitmq-plugins enable rabbitmq_delayed_message_exchange啟用插件,執(zhí)行命令rabbitmq-plugins disable rabbitmq_delayed_message_exchange也可以關(guān)閉插件。具體過(guò)程可以查看參考文檔2。
三、Spring集成RabbitMQ
1、maven配置
2、xml配置
四、延遲隊(duì)列的使用
1、發(fā)送消息Producer
參考文檔:
1、http://blog.csdn.net/tongdao/article/details/51638066 RabbitMQ安裝與使用
2、http://blog.csdn.net/u014308482/article/details/53036770 rabbitmq 實(shí)現(xiàn)延遲隊(duì)列的兩種方式
3、http://docs.spring.io/spring-amqp/docs/1.6.0.RELEASE/reference/html/_reference.html#delayed-message-exchange
聯(lián)系客服