在上一篇文章中,我们并没有将activeMQ作为单独的服务启动,而是将它集成到一个web工程中。事先声明一下,在开发过程中可以这么做,但是生产模式下,应该还是利用JNDI部署activeMQ,具体利弊现在的我也说不太清楚,前几天在google查资料的时候偶然瞥见的~~~~~~~
再声明一下版本信息:
tomcat版本:6.0.20
activeMQ版本:5.2
web-console是一个监控并管理broker的图形界面,很明显,它更加直观,也更加方便。那还等什么,publish it now!
1,下载对应版本的webconsole*.war(http://repo1.maven.org/maven2/org/apache/activemq/activemq-web-console/),然后把它放到${TOMCAT_HOME}/webapps下
2,下载对应版本的activemq-all.jar(http://repo1.maven.org/maven2/org/apache/activemq/activemq-all),然后把它放到${TOMCAT_HOME}/lib下
3,修改tomcat的启动文件catalina.bat,修改JVM的option
JAVA_OPTS="-Dwebconsole.type=properties -Dwebconsole.jms.url=tcp://localhost:61616 -Dwebconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi -Dwebconsole.jmx.user= -Dwebconsole.jmx.password="
4,我们还需要将以下jar包加入下载的webconsole*.war中,不然登陆页面后会报错。这些jar包都可以在apache-activemq-5.2.0-bin.zip下找到
jsp-2.1-6.1.9.jar
jsp-api-2.1-6.1.9.jar
jetty-util-6.1.9.jar
core-3.1.1.jar
5,启动tomcat后,就可以使用webconsole了~~~~~~~~~~
原文链接
延伸:
地球人都知道,所有人都可以访问的管理控制台也太不安全了,我们需要给web-console加入访问控制。这里我们使用tomcat自带的基本认证模式。
1,修改${TOMCAT_HOME}/webapps/activemq-web-console/WEB-INF/web.xml,加入如下代码:
<security-constraint> <web-resource-collection> <web-resource-name>activemq-web-console</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>mqwebconsole</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>activemq</realm-name> </login-config>
2,修改${TOMCAT_HOME}/conf/tomcat-users.xml,加入如下代码:
<role rolename="mqwebconsole"/> <user username="admin" password="neusoft" roles="mqwebconsole"/>
3,重新启动tomcat,http://localhost:8080/activemq-web-console
原文连接