JAVA消息队列

1

近期公司项目中,听同事提起MQ、JMS,因为之前没有使用过不太了解,所以抽出半天时间学习下,了解下相关概念、功能及其用途。便于再次与人沟通时可以言之有物,后续工作中遇到了,可立马上手,提高工作效率。

学习过程分为三个步骤:###

  • 1 查找资料
  • 2 实验实践
  • 3 归纳总结

学习思路.jpg

2

###查找资料### 推荐两篇博客,内容不错。

  • 1 JMS(Java消息服务)入门教程  ,比较适合了解基本知识,包括概念、分类、用途及其原理。
  • 2 消息队列MQ技术的介绍和原理,介绍了消息队列MQ的基本知识点。 此处不再对技术内容进行复制粘贴,仅提供学习思路。首先用what、how、why提出自己心中感兴趣的几个问题,然后在到资料中找出想要的答案。例如:什么是Java消息服务?MQ? 为什么要有消息服务?优点是什么?消息服务是如何实现的? JSM Java Message Service, MQ Message Queue

3

####实验#### 通过上面的快速阅读和详细阅读之后,已经在概念上了解了,下面通过一个实验对概念和原理进行深入的理解,了解其用途及其适用范围。

  • 1 环境介绍 apache-tomcat-7.0.61、apache-activemq-5.6.0、eclipse neon、jdk 1.8.0 ;
  • 2 实验代码工程链接地址 https://github.com/abshawn/JMSProject ,可以从此处下载代码,在本地部署查看效果。
  • 3 实验效果截图 通过activemq可以监控到消息队列的内容。 ActiveMQ.jpg

消息生产者.jpg

消息消费者.jpg

4

###归纳总结### ** JMS “ 一个中心,两种模式,三步实现”**

  • 1 以 消息服务器为中心 消息生产者 通过客户端发消息给消息服务器; 消息消费者通过消息服务器接收消息;
  • 2 两种消息发送模型 两种消息发送模型规范:点对点、发布订阅 ;
  • 3 实现方法分为三步 3.1、 统一消息服务器,建立连接Connections ; 3.2 、通过连接建立队列会话session; 3.3 、准备就绪后,执行 生产者 发消息和消费者 接消息(异步)。   **优点     ** 解耦合、异步