一、基本概念
JMS是J2EE体系标准的一部分,规定了应用之间同步、异步进行消息发送、接受的相关规范。ActiveMQ是实现了JMS标准的消息服务器。
ActiveMQ的几个重要概念:
1. client:ActiveMQ的client包括producer和consumer两类,从名字可看出,producer是产生消息的消息生产者,consumer是接收消息的消息消费者,现实中producer和consumer是两个应用程序,它们之间通过 ActiveMQ进行通信。
2. destination:发送消息的目标,接收消息的来源。包括两类,queue和topic。queue中的消息只能一次性消费,topic中的消息可以被所有订阅者同时消费。注意一个时序关系,对于queue,可以先发送消息,再接收消息; 对于topic,订阅者只能接收开始订阅之后产生的消息,而订阅之前产生的消息收不到,类似于报纸订阅。
3. 持久化:ActiveMQ支持持久化,可以将接收到的消息保存到数据库中,就算ActiveMQ重启,也照样能将尚未派发的消息发送出去。
4. 异步:ActiveMQ最大的特点就是异步,这也是和webservice最大的差别,发送者只需将消息发送给ActiveMQ,剩下的事交给ActiveMQ就行,发送者不用关心。
二、安装
官网下载:
下载后解压到某个目录,注意,该目录必须让普通用户拥有创建文件权限。
配置环境变量:
添加 ACTIVEMQ_HOME,指向安装目录
Path加入\AC TIVEMQ_HOME%\bin\
CLASSPATH加入 \ACTIVEMQ_HOME%\conf\
运行ActiveMQ:
执行: activemq
日志没有报错就正常启动了
测试安装是否成功:
ActiveMQ的默认端口是61616,另外开一个console,用netstat命令搜索61616端口:
netstat -an|find "61616"
监控ActiveMQ:
我们可以通过Web界面来监控ActiveMQ,用浏览器访问:
如果ActiveMQ的版本是5.8,则需要输入默认账号admin/admin,该账号可以在 conf/jetty-real.properties中配置
停止ActiveMQ:
直接到运行ActiveMQ的console中执行CTRL+C键