AMQP消息隊列之RabbitMQ簡單示例



前面一篇文章講了如何快速搭建一個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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM