1. 预备知识
1.1 JMS
JMS(Java Messaging Service)是Java平台上有关面向消息中间件(MOM)的技术规范。<百科>
1.2 JMX
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。<百科>
1.3 订阅者模式
一种设计模式,存在生产者和消费者两种角色,多个消费者订阅生产者的内容,生产者产生内容后分发到各个消费者中。
2. ActiveMQ
2.1 简介
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
2.2 安装启动及测试使用
安装方式有多种,这里选择 Binary Installation.
2.1.1 Windows
a. 下载zip压缩包
下载地址:http://archive.apache.org/dist/activemq/
在此地址下,选择自己要使用的版本,进入到指定的文件夹下,选择zip压缩包,下载;
由于我使用Spring版本的原因,我使用如下activemq版本:
b. 将压缩包放到指定目录下,解压。
c. 启动
打开cmd,进入到%ACTIVEMQ_HOME%in目录下,使用命令:
activemq start //打开服务
打开后有如下提示,即已正确启动:
d. 测试
浏览器进入到127.0.0.1:8161,activemq控制台,可查看activemq中的各消息信息;
用户名:admin
密码:admin
用户名和密码在%ACTIVEMQ_HOME%conf中的jetty-realm.properties中配置。如下:
e. 启动中遇到的问题及解决方案
Q1. 端口被占用
A1. activemq的默认端口为:61616
此端口可能被windows的某种服务占用掉,所以需要修改activemq的默认端口;
进入到%ACTIVEMQ_HOME%conf中的actviemq.xml中修改61616位61618(此端口可为任意未被占用端口)即可;
<transportConnectors> <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> <transportConnector name="openwire" uri="tcp://0.0.0.0:61618?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/><!-- 此处修改端口为:61618 --> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> </transportConnectors>
Q2. 将%ACTIVEMQ_HOME%in写入环境变量中
A2. 可避免每次启动服务需cmd进入指定文件夹下命令操作。
2.1.2 Liunx
Liunx的安装基本和widows相似,基本思路可以理解为:
1.下载压缩包
2.解压
3.在%ACTIVEMQ_HOME%in目录下启动服务。
a. 下载压缩包
由于我使用wget命令一致无法找到资源,所以就使用浏览器下载资源,然后上传到服务器的指定目录下:
下载地址:http://archive.apache.org/dist/activemq/
进入到相应的版本下,选择.tar.gz压缩包下载,由于我使用的Spring版本,我选择如下activemq版本:
b. 使用命令解压缩
tar zxvf apache-activemq-5.10.2-bin.tar.gz
c. 启动服务
进入到 %ACTIVEMQ_HOME%in 目录下,使用命令启动服务:
./activemq start
d. 进入服务器web控制台
web控制台链接:192.168.1.100:8161,可在控制台查看和操作activemq消息
账号:admin
密码:admin
可在%ACTIVEMQ_HOME%conf中jetty-realm.properties设置账号密码。
参考资料: