转载请注明出处:http://blog.csdn.net/l1028386804/article/details/68962543
一、ActiveMQ简介
在上一篇博文《JMS之——JMS简介》中,我们对JMS进行了一些简单介绍,那么,现在我就带着大家一起来实现ActiveMQ的安装和启动。同样,对ActiveMQ做一个简短的介绍,ActiveMQ是Apache的一款基于Java开发的开源的消息中间件。说起消息中间件,它在企业开发中,扮演着十分重要的角色,那么它能用来干什么呢?消息中间价又有那些用途和有点呢?
消息中间件有很多的用途和优点:
1. 将数据从一个应用程序传送到另一个应用程序,或者从软件的一个模块传送到另外一个模块;
2. 负责建立网络通信的通道,进行数据的可靠传送。
3. 保证数据不重发,不丢失
4. 能够实现跨平台操作,能够为不同操作系统上的软件集成技工数据传送服务
消息中间件的用途和有点还有很多很多,在这里就不一一列举了。这里,我们重点讲解Apache的ActiveMQ。
ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。
二、下载安装ActiveMQ
1、下载ActiveMQ
我们到Apache官方网站下载ActiveMQ,链接为:http://activemq.apache.org/ 这里,我下载的是最新版5.14.4版本,同时,我在CentOS上安装和启动ActiveMQ,所以,我下载的是Linux版本的ActiveMQ。下载后的结果如下图:
2、解压ActiveMQ
在命令行输入以下命令对ActiveMQ进行解压。
tar -zxvf apache-activemq-5.14.4-bin.tar.gz
解压后的目录如下:
从它的目录来说,还是很简单的:
- bin存放的是脚本文件
- conf存放的是基本配置文件
- data存放的是日志文件
- docs存放的是说明文档
- examples存放的是简单的实例
- lib存放的是activemq所需jar包
- webapps用于存放项目的目录
3、启动ActiveMQ
我们进入bin目录,输入如下命令启动ActiveMQ
./activemq start
启动后,我们如何知道ActiveMQ启动成功了呢?输入以下命令
ps -ef | grep activemq
结果如下:
证明已经启动成功。
4、测试
ActiveMQ默认监听的端口是61616,我们输入以下命令来验证ActiveMQ是否监听了61616端口
netstat -lnp|grep 61616
结果如下:
说明ActiveMQ已经监听了61616端口。
5、监控
ActiveMQ默认启动时,启动了内置的jetty服务器,提供一个用于监控ActiveMQ的admin应用。
admin:http://192.168.50.131:8161/admin/ (我把ActiveMQ安装到了CentOS上,ip是192.168.50.131,如果你安装在本机上则路径是:http://127.0.0.1:8161/admin/)
用户名和密码都是admin
至此,ActiveMQ的安装和启动全部完成。
三、ActiveMQ特性
- 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
- 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
- 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
- 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
- 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
- 支持通过JDBC和journal提供高速的消息持久化
- 从设计上保证了高性能的集群,客户端-服务器,点对点
- 支持Ajax
- 支持与Axis的整合
- 可以很容易得调用内嵌JMS provider,进行测试
四、什么情况下使用ActiveMQ?
1、多个项目之间集成
(1) 跨平台
(2) 多语言
(3) 多项目
2、 降低系统间模块的耦合度,解耦
(1) 软件扩展性
3、系统前后端隔离
(1) 前后端隔离,屏蔽高安全区
其实ActiveMQ的应用还有很多,大家可以上网查查,不再一一举例。