AMQ學習筆記 - 00. 匯總


說明


   不久前,因為公司任務而去研究ActiveMQ。受益於網上眾多樂於分享的博主的文章,如今對AMQ的研究成果已有小成,現在把其中不涉及敏感內容的東西整理出來,分享在網上,希望能惠澤后來者。我讀了近乎100篇關於AMQ的博文,有些博主將文章做成一個系列,可以讓讀者循序漸進的學習,這個方式很好,我也將采取同樣的方式。在接下來的一系列關於AMQ的文章中,順序幾乎是我學習的順序,但也根據合理性做了優化。

  本次研究基於的環境如下:

  • 操作系統:win7 64
  • JDK版本:1.7.0_75
  • ActiveMQ版本:5.13.2
  • zookeeper版本:3.4.8

第一部分:JMS基礎


 

這一部分主要介紹JMS的API,和基於此的客戶端編程。

  1. 01. ActiveMQ相關背景
    介紹中間件、MOM、JMS、ActiveMQ,及相互的關系。
  2. 02. JMS客戶端編程模型
    介紹客戶端編程的模型:發送消息到JMS Provider,或從JMS Provider中讀取消息所使用的API和所遵循的步驟。
  3. 03. 消息的接收方式
    同步接收是阻塞式的接收,異步接收是基於監聽器的接收-實時的接收。
  4. 04. 消息選擇器
    消息選擇器可以讓接收者只接收到感興趣的消息。
  5. 05. 客戶端模板化
    本人嘗試的一次模板化,如果你也這樣做過,就會更容易理解第二部分的內容。
  6. 06. 可靠消息傳送
    ActiveAMQ如何確保消息的可靠傳送。
  7. 07. 持久性訂閱
    如果持久訂閱者處於非活動狀態,JMS Provider可以為持久訂閱者保留消息。

第二部分:Spring-JMS


這一部分主要介紹Spring對JMS的支持,如何通過Spring來簡化JMS客戶端的開發,如何通過配置加入Spring的支持。

  1. 08. Spring-JmsTemplate之發送
    使用JmsTemplate來發送消息。
  2. 09. Spring-JmsTemplate之接收
    使用JmsTemplate來接收消息。
  3. 10. Spring-JmsTemplate之瀏覽
    使用JmsTemplate來瀏覽消息。與接收相比,瀏覽只是獲取消息的內容,但是不會導致消息從隊列中移除;接收則會移除隊列中的消息。
  4. 11. Spring-JmsTemplate之執行
    對JmsTemplate底層方法的介紹,這些方法支撐了發送、接收、瀏覽的實現。
  5. 12. Spring-JmsTemplate特性設置
    介紹如何在JmsTemplate中設置一些特性。
  6. 13. Spring-jms的配置
    如何通過配置來引入Spring對JMS的支持。

第三部分:實踐方案


這一部分主要介紹如何將ActiveMQ應用到實際的場景中。

  1. 14. 實踐方案:基於ZooKeeper + ActiveMQ + replicatedLevelDB的主從部署
    使用ZooKeeper來實現ActiveMQ的主從部署,ActiveMQ需要選擇replicatedLevelDB持久化方案。
  2. 15. 實踐方案:基於ActiveMQ的統一日志服務
    如何通過Log4j將日志發送到隊列。發送方基於Log4j編程,而不是JMS的API,如果你掌握了前面的內容,或許你更傾向於使用JMS或者Sring提供的支持。

第四部分:測試記錄


這一部分主要記錄測試的設計、步驟和結果。只是針對第一部分中的重要的概念進行了測試。

  1. 16. 確認機制的測試
  2. 17. 事務的測試
  3. 18. 持久化的測試

第五部分:其他


  1. 19. 問題解決 - 控制Atomikos的日志輸出
    分布式事務中用到了Atomikos,可能會發現它吐出了太多的INFO級別的日志,這里提供解決方案。— 基於對slf4j的分析。
  2. 20. 使用Apache ActiveMQBrowser監控ActiveMQ
    這個工具可以用來監控消息隊列中的消息。
  3. 21. 異步發送
    這是一篇翻譯,介紹異步發送。


免責聲明!

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



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