Mq下载地址:http://activemq.apache.org/download.html
内容:
bin存放的是脚本文件
conf存放的是基本配置文件
data存放的是日志文件
docs存放的是说明文档
examples存放的是简单的实例
lib存放的是activemq所需jar包
webapps用于存放项目的目录
启动ActiveMQ
进入到ActiveMQ 安装目录的Bin 目录,linux 下输入 ./activemq start 启动activeMQ 服务。
输入命令之后,会提示我们创建了一个进程IP 号,这时候说明服务已经成功启动了。
ActiveMQ默认启动时,启动了内置的jetty服务器,提供一个用于监控ActiveMQ的admin应用。
admin:http://127.0.0.1:8161/admin/
我们在浏览器打开链接之后输入账号密码(这里和tomcat 服务器类似)
默认账号:admin
密码:admin
到这里为止,ActiveMQ 服务端就启动完毕了。
ActiveMQ 在linux 下的终止命令是 ./activemq stop
启动后,activeMQ会占用两个端口,一个是负责接收发送消息的tcp端口:61616,一个是基于web负责用户界面化管理的端口:8161。这两个端口可以在conf下面的xml中找到。http服务器使用了jettry。这里有个问题是启动mq后,很长时间管理界面才可以显示出来
JMS体系结构
JMS提供者(JMS的实现者,比如activemq jbossmq等)
JMS客户(使用提供者发送消息的程序或对象,例如在12306中,负责发送一条购票消息到处理队列中,用来解决购票高峰问题,那么,发送消息到队列的程序和从队列获取消息的程序都叫做客户)
JMS生产者,JMS消费者(生产者及负责创建并发送消息的客户,消费者是负责接收并处理消息的客户)
JMS消息(在JMS客户之间传递数据的对象)
JMS队列(一个容纳那些被发送的等待阅读的消息的区域)
JMS主题(一种支持发送消息给多个订阅者的机制)
JMS对象模型
连接工厂(connectionfactory)客户端使用JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。
JMS连接 表示JMS客户端和服务器端之间的一个活动的连接,是由客户端通过调用连接工厂的方法建立的。
JMS会话 session 标识JMS客户端和服务端的会话状态。会话建立在JMS连接上,标识客户与服务器之间的一个会话进程。
JMS目的 Destinatio 又称为消息队列,是实际的消息源
生产者和消费者
消息类型,分为队列类型(优先先进先出)以及订阅类型
MQ处理消息的流程
消息从生成方客户端传送到消息服务器。
消息服务器读取消息。
消息被放置到持久性存储器当中(出于可靠性的考虑)。
消息服务器确认收到消息(出于可靠性的考虑)。
消息服务器确定消息的路由。
消息服务器写出消息。
消息从消息服务器传送到使用方客户端。
使用方客户端确认收到消息(出于可靠性的考虑)。
消息服务器处理客户端确认(出于可靠性的考虑)。
消息服务器确定已经处理客户端确认。