ActiveMQ是apache提供的消息中间件,下载地址是:
activemq.apache.org/download-archives.html
apache-activemq-5.9.0-bin.tar.gz (Linux)
apache-activemq-5.9.0-bin.zip(windows)
5.10.0版本以上的ActiveMQ是需要JDK8的支持
在Maven工程当中的依赖
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.9.0</version>
</dependency>
解压安装
把apache-activemq-5.1.0-bin.tar.gz上传到我的远程服务器上(我的是Centos6.5系统)
然后使用命令解压
cd /
mkdir apps
cd /usr/local/tars
在tar包所在的目录使用解压命令。
tar -zxvf apache-activemq-5.9.0-bin.tar.gz -C /apps
解压后切换到/apps目录
[root@TtvMNg175022 tars]# ls
apache-activemq-5.9.0-bin.tar.gz jdk-8u162-linux-x64.tar.gz MySQL-client-5.5.40-1.el6.x86_64.rpm MySQL-server-5.5.40-1.el6.x86_64.rpm redis-3.2.12.tar.gz
[root@TtvMNg175022 tars]# cd /apps
[root@TtvMNg175022 apps]# ls
activemq590 java mysql redis-3.2.12 tomcat8
[root@TtvMNg175022 apps]# cd activemq590/
[root@TtvMNg175022 activemq590]# ls
activemq-all-5.9.0.jar bin conf data docs examples lib LICENSE NOTICE README.txt webapps webapps-demo
[root@TtvMNg175022 activemq590]# cd bin
[root@TtvMNg175022 bin]# ./activemq start
INFO: Using default configuration
(you can configure options in one of these file: /etc/default/activemq /root/.activemqrc)
INFO: Invoke the following command to create a configuration file
./activemq setup [ /etc/default/activemq | /root/.activemqrc ]
INFO: Using java '/apps/java/jdk1.8.0_162/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/apps/activemq590/data/activemq-TtvMNg175022.pid' (pid '41170')
[root@TtvMNg175022 bin]# jps
41170 -- main class information unavailable
41172 Jps
6591 Bootstrap
[root@TtvMNg175022 bin]# jps
41201 Jps
41170 activemq.jar
6591 Bootstrap
[root@TtvMNg175022 bin]#
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
-q:仅输出VM标识符,不包括classname,jar name,arguments in main method;
-m:输出main method的参数;
-l:输出完全的包名,应用主类名,jar的完全路径名;
-v:输出jvm参数 ;
-V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 ;
看到进程41170 activemq.jar就说明启动好了!
ActiveMQ可以看做是war项目,里面用到了Jetty容器,我们需要知道Jetty的端口号,才能在浏览器当中访问。
我们去配置文件里面看一下端口号。
[root@TtvMNg175022 activemq590]# cd conf
[root@TtvMNg175022 conf]# ls
activemq.xml broker-localhost.cert client.ks credentials-enc.properties groups.properties jetty.xml jmx.password logging.properties users.properties
broker.ks broker.ts client.ts credentials.properties jetty-realm.properties jmx.access log4j.properties login.config
[root@TtvMNg175022 conf]# vim jetty.xml
可以在文件里使用/jettyPort快速查到下面的节点:
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="port" value="8161"/>
</bean>
在浏览器访问应用admin
我们先看看admin这个应用在哪?
[root@TtvMNg175022 activemq590]# ls
activemq-all-5.9.0.jar bin conf data docs examples lib LICENSE NOTICE README.txt tmp webapps webapps-demo
[root@TtvMNg175022 activemq590]# cd webapps
[root@TtvMNg175022 webapps]# ls
admin api favicon.ico fileserver hawtio images index.html styles
[root@TtvMNg175022 webapps]#
在浏览器输入http://你的ip地址:8161/admin
我们看到,需要输入用户名密码,我们去找一下。
[root@TtvMNg175022 conf]# ls
activemq.xml broker-localhost.cert client.ks credentials-enc.properties groups.properties jetty.xml jmx.password logging.properties users.properties
broker.ks broker.ts client.ts credentials.properties jetty-realm.properties jmx.access log4j.properties login.config
[root@TtvMNg175022 conf]# vim jetty-realm.properties
#可以看到下面的内容
# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
#用户名:密码,角色名
admin: admin, admin
user: user, user
~