mq消息中间件02:jms和activeMQ消息服务器的安装

jms

面向消息中间件的技术规范;
它便于消息系统中的java应用程序进行消息交换,
定义消息,发送消息,接收消息。

jms本身只定义了一系列的接口规范,
是一种与厂商无关的api,
用来访问消息收发系统。

消息是jms中的一种类型对象,由两部分组成,报头和消息主体。

报头由路由及有关该消息的元数据组成。
消息主体则携带着应用程序的数据或有效负载;

jms定义了5种消息正文格式,以及调用的消息类型;
TextMessage 一个字符串对象;
MapMessage 键值对;
ObjectMessage 一个序列化的java对象;
BytesMessage 字节数据流;
StreamMessage java原始值的字节流;

bytes已经读取到ram中的字节数组;

stream是从磁盘文件读取的;

消息沟通的两种模式

point-to-point:点对点

publish/subscribe:发布/订阅

activeMQ的安装

拷贝apache-activemq-5.12.0-bin.tar.gz
解压
改名
启动:
./bin/activemq start

不需要配置配置文件。

浏览器访问:
http://localhost:8161/admin
用户:admin
密码: admin

点对点模式分析

也叫队列模式;

mq消息中间件02:jms和activeMQ消息服务器的安装
activeMQ点对点模式.png

activemq消息发送流程:
1.消息生产者把消息发送到activemq消息服务器进行存储;
1)消息生产者发送消息,首先需要在activemq消息服务器中开辟一块空间,存储消息;
2)并且必须给这块空间起一个标识,用来唯一标识这块消息空间;

2.消息消费者必须监听这块空间(此空间监听方法是根据空间标识监听的),监听空间标识必须和消息生产标识一致。

mq消息中间件02:jms和activeMQ消息服务器的安装
点对点示意图.png

消息消费者主动拉取消息;

点对点消息模式的特点:
1.一条消息只能被一个消费者接收。
2.一条消息被消费后就消失了。
3.如果这条消息一致没有被消费,那就一直等待,直到被消费为止。
4.如果有多个消费者同时监听消息空间,遵循先来后到的原则,谁第一个拉取,就给谁消费。