ActiveMQの安装&介绍(一)
- 官网下载最新版本
安装的windows版本。在bin目录下有两个目录win32和win64,对应的是操作系统的位数。
ActiveMQ默认启动到8161端口,启动完了后在浏览器地址栏输入:http://localhost:8161/admin要求输入用户名密码,默认用户名密码为admin、admin,这个用户名密码是在conf/users.properties中配置的。
输入用户名密码后便可看到如下图的ActiveMQ控制台界面了。
ActiveMQ5.10.x以上版本必须使用JDK1.8才能正常使用。ActiveMQ5.9.x及以下版本使用JDK1.7即可正常使用。
- 配置文件
任何配置文件修改后,必须重启ActiveMQ,才能生效
-
activemq.xml
就是spring配置文件. 其中配置的是ActiveMQ应用使用的默认对象组件.
transportConnectors标签 - 配置链接端口信息的. 其中的端口号61616是ActiveMQ对外发布的tcp协议访问端口. 就是java代码访问ActiveMQ时使用的端口
-
jetty.xml
spring配置文件, 用于配置jetty服务器的默认对象组件.
jetty是类似tomcat的一个中间件容器.
ActiveMQ默认支持一个网页版的服务查看站点. 可以实现ActiveMQ中消息相关数据的页面查看.
8161端口, 是ActiveMQ网页版管理站点的默认端口.
在ActiveMQ网页版管理站点中,需要登录, 默认的用户名和密码都是admin.
-
users.properties
用于配置客户端通过协议访问ActiveMQ时,使用的用户名和密码.
- PTP和PUB/SUB简单对比
Topic |
Queue |
|
概要 |
Publish Subscribe messaging 发布订阅消息 |
Point-to-Point点对点 |
有无状态 |
topic数据默认不落地,是无状态的。 |
Queue数据默认会在mq服务器上以文件形式保存,比如Active MQ一般保存在$AMQ_HOME\data\kahadb下面。也可以配置成DB存储。 |
完整性保障 |
并不保证publisher发布的每条数据,Subscriber都能接受到。 |
Queue保证每条数据都能被receiver接收。消息不超时。 |
消息是否会丢失 |
一般来说publisher发布消息到某一个topic时,只有正在监听该topic地址的sub能够接收到消息;如果没有sub在监听,该topic就丢失了。 |
Sender发送消息到目标Queue,receiver可以异步接收这个Queue上的消息。Queue上的消息如果暂时没有receiver来取,也不会丢失。前提是消息不超时。 |
消息发布接收策略 |
一对多的消息发布接收策略,监听同一个topic地址的多个sub都能收到publisher发送的消息。Sub接收完通知mq服务器 |
一对一的消息发布接收策略,一个sender发送的消息,只能有一个receiver接收。receiver接收完后,通知mq服务器已接收,mq服务器对queue里的消息采取删除或其他操作。 |