1. Apache ActiveMQ是最流行的开源、多协议、基于Java的消息传递服务。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现, 它非常快速, 支持多种语言(C、C++、Python、.Net等)的客户端和协议, 而且可以非常容易的嵌入到企业的应用环境中, 并有许多高级功能。
2. Apache ActiveMQ官方网址: http://activemq.apache.org/
3. 目前Apache ActiveMQ有2个版本ActiveMQ 5 "Classic"和ActiveMQ Artemis。
3.1. ActiveMQ 5 "Classic"长期建立的, 无限可插拔的架构, 服务于多代应用程序。
- JMS 1.1具有完整的客户端实现, 包括JNDI。
- 使用共享存储的高可用性。
- 熟悉的基于JMS的寻址模型。
- 用于分配负载的broker网络。
- 用于持久化的KahaDB和JDBC选项。
3.2. ActiveMQ Artemis用于下一代事件驱动的消息传递应用程序的高性能, 非阻塞体系结构。
- JMS 1.1和2.0, 包括JNDI在内的完整客户端实现。
- 使用共享存储和网络复制的高可用性。
- 简单而强大的协议无关寻址模型。
- 用于低延迟持久性和JDBC的高级日志实现。
- 与ActiveMQ 5实现高特性匹配一致, 以简化迁徙。
4. 下载ActiveMQ 5
4.1. 点击Download Latest按钮
4.2. 下载Windows、Linux和源码包
5. Windows上启动ActiveMQ服务
5.1. 解压apache-activemq-5.16.1-bin.zip
5.2. 进入bin\win64目录查找activemq.bat
5.3. 使用Windows PowerShell启动ActiveMQ服务
6. 管理后台
6.1. ActiveMQ服务启动成功后, 在浏览器输入http://localhost:8161, 用户名密码默认都是admin。
6.2. 点击Manage ActiveMQ broker
6.3. Queues页面
6.3.1. 点击Queues, 进入Queues页面
6.3.2. Name: 消息队列的名称。
6.3.3. Number Of Pending Messages: 未被消费的消息数目。
6.3.4. Number Of Consumers: 消费者的数量。
6.3.5. Messages Enqueued: 进入队列的总消息数目, 包括已经被消费的和未被消费的。这个数量只增不减。
6.3.6. Messages Dequeued: 被消费掉的消息数量。
6.4. Topics页面
6.4.1. 点击Topics, 进入Topics页面
6.4.2. Name: 主题名称。
6.4.3. Number Of Pending Messages: 未被消费的消息数目。
6.4.4. Number Of Consumers: 消费者的数量。
6.4.5. Messages Enqueued: 进入队列的总消息数目, 包括已经被消费的和未被消费的。这个数量只增不减。
6.4.6. Messages Dequeued: 消费掉的消息数量。在Topics里, 因为多消费者从而导致数量会比入队列数高。
7. Linux上启动ActiveMQ服务
7.1. 把apache-activemq-5.16.1-bin.tar.gz添加到/usr/local目录下
7.2. 解压apache-activemq-5.16.1-bin.tar.gz
7.3. 编辑jetty.xml, 修改服务器地址
7.4. 启动activemq: /usr/local/apache-activemq-5.16.1/bin/linux-x86-64/activemq start
7.5. 查看activemq: /usr/local/apache-activemq-5.16.1/bin/linux-x86-64/activemq status
7.6. 登录台管理, 用户名和密码都是admin
7.7. 进入后台管理界面
7.8. 停止activemq: /usr/local/apache-activemq-5.16.1/bin/linux-x86-64/activemq stop