一、前言
最近的一个项目中,根据技术选型等方面,选择了ActiveMQ,项目中,通过Spring管理的ActiveMQ,然后在各个服务中使用。下面小编就向大家介绍一下ActiveMQ的安装和使用,非常简单。
二、什么是ActiveMQ?
首先呢,ActiveMQ是Apache的产品。当前非常实用的一款MQ产品。它完全支持JMS1.1 和J2EE1.4规范。在前文中小编向大家介绍了RocketMQ,RocketMQ是不支持JMS规范,但参考了JMS规范和kafak等的思想。
鉴于ActiveMQ很多企业都在使用,他存在下面的特点:
1.多种语言和协议编写客户端。可以使用java、c、c++、c#、Ruby、Perl、Python、php等,应用协议包括:OpenWire、Stomp、REST、WSNotification等
2.完全支持JMS1.1和J2EE1.4 规范
3.可以和spring完美结合
4.支持消息持久化,通过JDBC和journal
三、安装
进入http://activemq.apache.org/下载ActiveMQ
3.1 安装环境:
需要jdk
安装Linux系统。生产环境都是Linux系统。
3.2 安装步骤
第一步: 把ActiveMQ 的压缩包上传到Linux系统。
第二步:解压缩。
第三步:启动。
使用bin目录下的activemq命令启动:
[root@localhost bin]# ./activemq start
关闭:
[root@localhost bin]# ./activemq stop
查看状态:
[root@localhost bin]# ./activemq status
注意:如果ActiveMQ整合spring使用不要使用activemq-all-5.12.0.jar包。建议使用5.11.2
进入管理后台:
http://192.168.25.168:8161/admin
用户名:admin
密码:admin
注意:
activemq控制面板里的NumberOfPendingMessages、MessagesEnqueued、MessagesDequeued含义
Number Of Consumers 消费者 这个是消费者端的消费者数量
Number Of Pending Messages 等待消费的消息 这个是当前未出队列的数量。可以理解为总接收数-总出队列数
Messages Enqueued 进入队列的消息 进入队列的总数量,包括出队列的。 这个数量只增不减
Messages Dequeued 出了队列的消息 可以理解为是消费这消费掉的数量
这个要分两种情况理解
在queues里它和进入队列的总数量相等(因为一个消息只会被成功消费一次),如果暂时不等是因为消费者还没来得及消费。
在 topics里 它因为多消费者从而导致数量会比入队列数高。
简单的理解上面的意思就是
当有一个消息进入这个队列时,等待消费的消息是1,进入队列的消息是1。
当消息消费后,等待消费的消息是0,进入队列的消息是1,出队列的消息是1.
在来一条消息时,等待消费的消息是1,进入队列的消息就是2.
没有消费者时 Pending Messages 和 入队列数量一样
有消费者消费的时候 Pedding会减少 出队列会增加
到最后 就是 入队列和出队列的数量一样多
以此类推,进入队列的消息和出队列的消息是池子,等待消费的消息是水流。
四、小结
安装过程还是非常简单的,只要在装有JDK的环境下,解压,运行就可以直接使用。
下一篇博客将向大家介绍消息的形式,点对点和发布订阅模式。这些不仅仅是ActiveMQ的模型,也是其他一些MQ的类型。