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,和基于此的客户端编程。
- 01. ActiveMQ相关背景
介绍中间件、MOM、JMS、ActiveMQ,及相互的关系。 - 02. JMS客户端编程模型
介绍客户端编程的模型:发送消息到JMS Provider,或从JMS Provider中读取消息所使用的API和所遵循的步骤。 - 03. 消息的接收方式
同步接收是阻塞式的接收,异步接收是基于监听器的接收-实时的接收。 - 04. 消息选择器
消息选择器可以让接收者只接收到感兴趣的消息。 - 05. 客户端模板化
本人尝试的一次模板化,如果你也这样做过,就会更容易理解第二部分的内容。 - 06. 可靠消息传送
ActiveAMQ如何确保消息的可靠传送。 - 07. 持久性订阅
如果持久订阅者处于非活动状态,JMS Provider可以为持久订阅者保留消息。
第二部分:Spring-JMS
这一部分主要介绍Spring对JMS的支持,如何通过Spring来简化JMS客户端的开发,如何通过配置加入Spring的支持。
- 08. Spring-JmsTemplate之发送
使用JmsTemplate来发送消息。 - 09. Spring-JmsTemplate之接收
使用JmsTemplate来接收消息。 - 10. Spring-JmsTemplate之浏览
使用JmsTemplate来浏览消息。与接收相比,浏览只是获取消息的内容,但是不会导致消息从队列中移除;接收则会移除队列中的消息。 - 11. Spring-JmsTemplate之执行
对JmsTemplate底层方法的介绍,这些方法支撑了发送、接收、浏览的实现。 - 12. Spring-JmsTemplate特性设置
介绍如何在JmsTemplate中设置一些特性。 - 13. Spring-jms的配置
如何通过配置来引入Spring对JMS的支持。
第三部分:实践方案
这一部分主要介绍如何将ActiveMQ应用到实际的场景中。
- 14. 实践方案:基于ZooKeeper + ActiveMQ + replicatedLevelDB的主从部署
使用ZooKeeper来实现ActiveMQ的主从部署,ActiveMQ需要选择replicatedLevelDB持久化方案。 - 15. 实践方案:基于ActiveMQ的统一日志服务
如何通过Log4j将日志发送到队列。发送方基于Log4j编程,而不是JMS的API,如果你掌握了前面的内容,或许你更倾向于使用JMS或者Sring提供的支持。
第四部分:测试记录
这一部分主要记录测试的设计、步骤和结果。只是针对第一部分中的重要的概念进行了测试。
第五部分:其他
- 19. 问题解决 - 控制Atomikos的日志输出
分布式事务中用到了Atomikos,可能会发现它吐出了太多的INFO级别的日志,这里提供解决方案。— 基于对slf4j的分析。 - 20. 使用Apache ActiveMQBrowser监控ActiveMQ
这个工具可以用来监控消息队列中的消息。 - 21. 异步发送
这是一篇翻译,介绍异步发送。
本文来自博客园,作者:一尾金鱼,转载请注明原文链接:https://www.cnblogs.com/ywjy/articles/5433680.html