前面一篇文章講瞭如何快速搭建一個ActiveMQ的示常式序,ActiveMQ是JMS的實現,那這篇文章就再看下另外一種消息隊列AMQP的代表實現RabbitMQ的簡單示例吧。在具體講解之前,先通過一個圖來概覽下: 1.添加Maven依賴 2.Spring配置文件中添加rabbitmq相關配置 1)消 ...
前面一篇文章講瞭如何快速搭建一個ActiveMQ的示常式序,ActiveMQ是JMS的實現,那這篇文章就再看下另外一種消息隊列AMQP的代表實現RabbitMQ的簡單示例吧。在具體講解之前,先通過一個圖來概覽下:
1.添加Maven依賴
<!-- rabbitmq begin --> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.7.2.RELEASE</version> </dependency> <!-- rabbitmq end -->
2.Spring配置文件中添加rabbitmq相關配置
1)消息發送
<!--配置connection-factory,指定連接rabbit server參數 --> <rabbit:connection-factory id="connectionFactory" host="127.0.0.1" port="5672" username="guest" password="guest"/> <!--定義rabbit template用於數據的接收和發送 --> <rabbit:template id="amqpTemplate" connection-factory="connectionFactory" exchange="bounter.fanout" routing-key="bounter.key" /> <!--通過指定下麵的admin信息,當前producer中的exchange和queue會在rabbitmq伺服器上自動生成 --> <rabbit:admin connection-factory="connectionFactory" /> <!--定義queue --> <rabbit:queue name="bounter.queue" /> <!-- 定義fanout exchange,發佈訂閱模式 --> <rabbit:fanout-exchange name="bounter.fanout"> <rabbit:bindings> <rabbit:binding queue="bounter.queue" /> </rabbit:bindings> </rabbit:fanout-exchange>
2)消息接收
<!--定義接收消息的監聽器容器--> <rabbit:listener-container connection-factory="connectionFactory"> <rabbit:listener ref="amqpFanoutListener" method="onFanout" queue-names="bounter.queue" /> <!--<rabbit:listener ref="amqpDirectListener" method="onDirect" queue-names="bounter.queue" />--> </rabbit:listener-container>
3.定義消息發送器和消息監聽器 具體請參考項目源碼中sender包和receiver包中代碼 4.測試消息收發 具體請參考項目源碼中的單元測試類RabbitMQTest 是不是覺得很簡單哉!那就趕快自己動手試試吧!有好的意見或建議歡迎留言! github源碼地址: https://github.com/13babybear/mq-client