ActiveMQ的安装与部署
ActiveMQ是Apache的一个开源项目,它是一个功能强劲的开源消息总线,也是一个中间件产品,它是JMS的一个实现。
在介绍ActiveMQ之前,先来复习一下J2EE中的JMS规范。JMS 即Java消息服务应用程序接口,是Java Message Service的缩写,是一个Java平台中关于面向消息中间件(manager of managers,缩写为MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信;我们可以利用它在不同系统和不同的模块之间实现集成。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS有两个好处,第一个就是让模块之间或者系统之间的耦合度降低,第二个是异步通信。ActiveMQ是一个JMS消息代理的实现。
在介绍ActiveMQ之前,先来复习一下J2EE中的JMS规范。JMS 即Java消息服务应用程序接口,是Java Message Service的缩写,是一个Java平台中关于面向消息中间件(manager of managers,缩写为MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信;我们可以利用它在不同系统和不同的模块之间实现集成。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS有两个好处,第一个就是让模块之间或者系统之间的耦合度降低,第二个是异步通信。ActiveMQ是一个JMS消息代理的实现。
JMS的消息机制有两种模式,一种是点对点(Point to Point,一对一)消息模式,表现为队列的形式;发送的消息,只能被一个接收者接收。另一种是发布/订阅消息模式(一对多),可以被多个订阅者订阅,类似于群发。
软件环境
- ActiveMQ 5.15.13
- java version 13.0.1
- IntelliJ IDEA 2019.3.2 (Ultimate Edition)
![](https://img2020.cnblogs.com/blog/1208468/202006/1208468-20200614162703648-139439101.png)
注意:5系列的版本最好使用JDK8及以上, 低于JDK8可以使用4.x。
2、下载和启动
下载之后,解压apache-activema-5.15.13-bin.zip包,进入bin目录:
![](https://img2020.cnblogs.com/blog/1208468/202006/1208468-20200614161646552-1764905651.png)
请确保系统已经安装Java 8或者以上版本。在bin目录发现有 win 32 和 win 64 两个文件夹,这2个文件夹分别对应 windows 32 位和 windows 64 位操作系统的启动脚本。
选择系统对应的版本,例如电脑是64位的,则进入win64文件夹,找到启动脚步activemq.bat,双击即可启动。
![](https://img2020.cnblogs.com/blog/1208468/202006/1208468-20200614161735711-2071040156.png)
启动成功后,Shell窗口视图如下:
![](https://img2020.cnblogs.com/blog/1208468/202006/1208468-20200614161756804-1763375587.png)
截图中容易找到日志信息 Connector ws Started。
3、启动成功访问
启动完毕后,在浏览器地址栏输入http://localhost:8161/admin ,打开ActiveMQ的管理界面。默认用户名密码为admin、admin,这个用户名密码是在conf/users.properties中配置的。输入用户名密码后即可访问到如下管理界面,
ActiveMQ中,61616为消息代理的端口,采用TCP协议发送;8161为管理界面的端口,采用内嵌jetty服务器。
![](https://img2020.cnblogs.com/blog/1208468/202006/1208468-20200614161821228-1667522028.png)
下面在页面 http://localhost:8161/admin/queues.jsp看一下队列消息消费情况:
其中
-
Name列的 myDest.queue 就是队列的名字;是自定义的。
-
Number Of Pending Messages 表示收到的消息数量;
-
Number Of Consumers 表示目前实时等待的消费者请求数量;
-
Messages Enqueued 表示被存储的数量-Queue类型数据没有消费者消费将先被 ActiveMQ 存储起来;
-
Messages Dequeued 表示被消耗的消息数。
Reference
- https://www.cnblogs.com/DFX339/p/9050878.html
- https://yq.aliyun.com/articles/647403?spm=a2c4e.11153940.0.0.3ba613c2O0IpNw
读后有收获,小礼物走一走,请作者喝咖啡。
![](https://common.cnblogs.com/images/wechat.png)
作者:楼兰胡杨
本文版权归作者和博客园共有,欢迎转载,但请注明原文链接,并保留此段声明,否则保留追究法律责任的权利。