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. 异步发送
    这是一篇翻译,介绍异步发送。
posted on 2016-04-26 10:45  一尾金鱼  阅读(1747)  评论(1编辑  收藏  举报