欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ActiveMQ (一)

程序员文章站 2022-05-31 12:20:20
...

前言:本人水平有限,文章中可能存在错误和不足,欢迎指正。发现并消除错误永远是程序进步的方向!

 

ActiveMQ介绍:Apache ActiveMQ™ 是Apache出品,最流行的,能力强劲的开源消息总线。Apache ActiveMQ速度快,支持多种语言和协议。

 

ActiveMQ的优势:写到这里的时候发现自己之前仅仅用过JbossMQ,不好对其他的MQ做对比,下面的仅仅是和JbossMQ对比的个人经验。

1.使用环境简单。比起JboosMQ,ActiveMQ几乎可以运行在任何的JVM上,而JbossMQ只能集成到Jboss应用服务器上。

2.执行效率高。这里就不放出测试对比图了,在我个人开发的应用上,ActiveMQ比JbossMQ快5-8倍。

3.自动重连功能。相当实用的一个功能,这也是我选择ActiveMQ的重要原因。

4.spring支持。其实这个不算理由,但在spring MVC火热的年代,也是一个强大的理由。

5.封装简单。比起JbossMQ的繁琐,对ActiveMQ的封装是很轻松的事情,对于系统集成管理来说,降低了很大的成本。

 

ActiveMQ的劣势:传输文件不方便,而且效率相对来说不是很高,使用起来也不方便,封装代价高。当然这个缺点对于一个消息总线来说此功能不算最主要的,还在忍受范围内。

 

版本建议:5.0.0-5.10.0版本在实现上存在XML外部实体注入漏洞,攻击者可利用此漏洞获取敏感信息或造成拒绝服务。本人使用的是目前官网的最新的5.11.1。

 

前置安装:java,tomcat(用于作为客户端)

 

安装:只要解压就能直接使用的,不做太多的介绍了,但在linux上需要对权限进行修改。

 

启动前的检查:主要是端口冲突

端口:61616  JMS服务

端口:8161 提供管理控制台服务

 

启动:windows上的不做太多说明了,就是运行ActiveMQ.bat

linux启动有三种方式:

(1)最正常的启动: ./activemq start
(2)启动并指定日志: ./activemq start >tmp/smlog
(3)后台启动方式: nohup ./activemq start >/tmp/smlog
前两种方式下在命令行窗口关闭时或者ctrl+c时导致进程退出,采用后台启动方式则可以避免这种情况

 

关闭:windows的简单不过了,关掉打开bat文件时的控制台窗口就可以了。linux除了用nohup启动的,可以直接用Ctrl+C来关闭,对于第3种的,可以用 ps -ef | grep activemq  命令在查找进程编号,然后用kill 命令来干掉他,有时因为一些线程并没有跑完或还属于挂起,kill命令并不能杀掉,则可以使用 kill -9 来强制关闭。