ActiveMQ提供了基于WEB的控制台,现在有两个版本。
监控的主要对象是连接的机器,队列,主题,消息。
1、在activemq.xml末尾引进内嵌的jetty.xml,用来启动web控制系统
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> ... <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}"> ... </broker> <!--web 后台监控--> <import resource="jetty.xml"/> </beans>
2、在jetty.xml,由spring初始化运行内嵌式jetty容器
<bean id="Server" depends-on="jettyPort" class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop"> <property name="connectors"> <list> <bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <!-- see the jettyPort bean --> <property name="port" value="#{systemProperties['jetty.port']}" /> </bean> <!-- Enable this connector if you wish to use https with web console --> <!--开启之后,打开SSL功能 <bean id="SecureConnector" class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector"> <property name="port" value="8162" /> <property name="keystore" value="file:${activemq.conf}/broker.ks" /> <property name="password" value="password" /> </bean> --> </list> </property> <property name="handler"> <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> <property name="handlers"> <list> <ref bean="rewrite"/> <ref bean="contexts" /> <ref bean="securityHandler" /> </list> </property> </bean> </property> </bean>
2.1端口配置,depends-on="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>2.2jetty所需的其他配置
<bean id="rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler"> <property name="rules"> <set> <bean class="org.eclipse.jetty.rewrite.handler.RedirectRegexRule"> <property name="regex" value="/api/jolokia(.*)"/> <property name="replacement" value="/hawtio/jolokia$1"/> </bean> </set> </property> </bean> <bean id="contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"> </bean>2.3 权限配置
<bean id="securityLoginService" class="org.eclipse.jetty.security.HashLoginService"> <property name="name" value="ActiveMQRealm" /> <property name="config" value="${activemq.conf}/jetty-realm.properties" /> </bean> <bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint"> <property name="name" value="BASIC" /> <property name="roles" value="user,admin" /> <!-- set authenticate=false to disable login --> <property name="authenticate" value="true" /> </bean> <bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint"> <property name="name" value="BASIC" /> <property name="roles" value="admin" /> <!-- set authenticate=false to disable login --> <property name="authenticate" value="true" /> </bean> <bean id="securityConstraintMapping" class="org.eclipse.jetty.security.ConstraintMapping"> <property name="constraint" ref="securityConstraint" /> <property name="pathSpec" value="/admin/*,*.jsp" /> </bean> <bean id="adminSecurityConstraintMapping" class="org.eclipse.jetty.security.ConstraintMapping"> <property name="constraint" ref="adminSecurityConstraint" /> <property name="pathSpec" value="*.action" /> </bean> <bean id="securityHandler" class="org.eclipse.jetty.security.ConstraintSecurityHandler"> <property name="loginService" ref="securityLoginService" /> <property name="authenticator"> <bean class="org.eclipse.jetty.security.authentication.BasicAuthenticator" /> </property> <property name="constraintMappings"> <list> <ref bean="adminSecurityConstraintMapping" /> <ref bean="securityConstraintMapping" /> </list> </property> <property name="handler"> <bean id="sec" class="org.eclipse.jetty.server.handler.HandlerCollection"> <property name="handlers"> <list> <bean class="org.eclipse.jetty.webapp.WebAppContext"> <property name="contextPath" value="/hawtio" /> <!--新的web管理平台---> <property name="war" value="${activemq.home}/webapps/hawtio" /> <property name="logUrlOnStart" value="true" /> </bean> <bean class="org.eclipse.jetty.webapp.WebAppContext"> <property name="contextPath" value="/admin" /> <!--老的web管理平台---> <property name="resourceBase" value="${activemq.home}/webapps/admin" /> <property name="logUrlOnStart" value="true" /> </bean> <bean class="org.eclipse.jetty.server.handler.ResourceHandler"> <property name="directoriesListed" value="false" /> <property name="welcomeFiles"> <list> <value>index.html</value> </list> </property> <!---自动加载webapps下面的资源--> <property name="resourceBase" value="${activemq.home}/webapps/" /> </bean> <bean id="defaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"> <property name="serveIcon" value="false" /> </bean> </list> </property> </bean> </property> </bean>
3、启动后,在浏览器中即可访问
http://127.0.0.1:8161/
包含三个项目:
(1)Manage ActiveMQ broker 新的管理平台
(2)Manage ActiveMQ broker using the old console 老的管理平台
(3)一些DEMO。
老的系统平台登录所需的配置文件
conf/jetty-realm.properties,只是基于BasicAuthenticator
# Defines users that can access the web (console, demo, etc.) # username: password [,rolename ...] admin: admin, admin
新的系统所需的平台配置,基于
conf/login.config
activemq { org.apache.activemq.jaas.PropertiesLoginModule required org.apache.activemq.jaas.properties.user="users.properties" org.apache.activemq.jaas.properties.group="groups.properties"; };
conf/users.properties
admin=admin
conf/groups.properties
admins=admin
4、安全校验原理,待续
太匆忙了,先写到这。。。
相关推荐
ActiveMQ是一个中间件,它作为应用程序之间的通信桥梁,允许它们通过消息传递进行交互,而不是直接调用彼此。这种解耦设计提高了系统的可扩展性和容错性。ActiveMQ支持多种协议,包括OpenWire、STOMP、AMQP、MQTT和...
总的来说,Apache ActiveMQ 5.10.2版本是一个强大的消息中间件,为开发者提供了可靠的、高性能的消息传递能力。通过合理的配置和使用,它能有效地提升系统的灵活性和可扩展性。在实际项目中,了解并熟练掌握ActiveMQ...
Apache ActiveMQ是业界广泛使用的开源消息中间件,它基于Java Message Service (JMS) 规范,提供高效、可靠的异步通信解决方案。ActiveMQ 5.16.1 是该软件的一个版本,此版本的安装文件以“apache-activemq-5.16.1-...
Apache ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它基于Java消息服务(JMS)规范,用于在分布式系统中实现可靠的消息传递。ActiveMQ在企业级应用中扮演着重要的角色,因为它允许不同应用程序之间异步...
Apache ActiveMQ是开源的、基于Java的消息中间件,它遵循开放消息传递协议(JMS,Java Message Service)标准,提供高效、可靠的消息传递服务。在标题"apache-activemq-5.13.2"中,我们看到的是ActiveMQ的一个特定...
Apache ActiveMQ是开源社区中最流行的消息中间件之一,它基于Java Message Service (JMS) API,为分布式系统提供高效、可靠且可扩展的消息传递服务。在这个实验三中,我们将深入探讨如何利用Apache ActiveMQ进行消息...
Apache ActiveMQ是业界广泛使用的开源消息中间件,它在标题中的标识是"apache-activemq-5.15.3-bin.zip",这表明这是一个包含ActiveMQ 5.15.3版本的可执行二进制包。消息中间件是分布式系统中的一种关键组件,用于在...
Apache ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它实现了Java消息服务(JMS)规范,用于在分布式系统中高效、可靠地传输消息。在本案例中,我们讨论的是ActiveMQ的5.1.0版本,这在当时是一个较新的...
Apache ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它基于Java Message Service(JMS)规范,用于在分布式系统中实现可靠的消息传递。ActiveMQ在企业级应用中扮演着重要的角色,因为它允许不同应用程序...
总之,ActiveMQ作为一款强大的消息中间件,其稳定性和灵活性使其在各种复杂环境中都能发挥出色作用。理解和掌握ActiveMQ的使用,对于提升系统的可靠性和扩展性具有重要意义。无论是在毕业设计、论文研究还是实际项目...
ActiveMQ是Apache软件基金会开发的一个开源的消息中间件,它是完全符合JMS 1.1规范的实现。ActiveMQ以其高性能、稳定性和丰富的特性集而被广泛使用。它支持多种协议,如OpenWire、STOMP、AMQP、MQTT等,这使得...
7. 测试与调试:编写测试用例,确保消息能正确发送和接收,同时监控ActiveMQ服务器以查看消息队列的状态。 在实际应用中,你可能还需要考虑消息的可靠性、顺序性、幂等性以及错误处理等复杂问题。例如,使用事务性...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它基于Java Message Service(JMS)规范,为分布式系统提供高效、可靠的消息传递服务。ActiveMQ 5.9版本是该产品的一个稳定版本,提供了许多增强的功能和性能...
ActiveMQ是Apache软件基金会的一个开源项目,它是一款功能强大的消息中间件,广泛应用于分布式系统中,用于处理异步通信、解耦系统组件以及提高系统的可扩展性。本篇将围绕ActiveMQ的核心概念、工作原理及实际应用...
- **定义**:ActiveMQ 是 Apache 软件基金会所研发的一款开源消息中间件,它完全支持 JMS 1.1 和 J2EE 1.4 规范,能够作为 JMS Provider 实现消息传递功能。 - **功能**:ActiveMQ 的核心功能在于帮助实现高性能、高...
Apache ActiveMQ是开源社区中最流行的消息中间件之一,它基于Java消息服务(JMS)标准,为分布式系统提供高效、可靠的消息传递。ActiveMQ 5.16.0是该软件的一个版本,提供了多种功能和改进,使得它成为在Windows等...
6. **消息队列**:使用RabbitMQ、Kafka或ActiveMQ等实现任务异步处理,提高系统性能。 7. **分布式一致性**:在分布式环境下,如Zookeeper、Etcd等用于协调任务分配和状态同步。 8. **安全性**:考虑任务执行的安全...
ActiveMQ,作为一款开源的消息中间件,是Apache软件基金会的重要项目之一,广泛应用于分布式系统中的消息传递。其Remote Activation(RA)模块,即activemq-ra,是ActiveMQ提供的一种资源适配器,使得应用程序能够与...
部署完成后,可以通过ActiveMQ消息管理后台系统进行管理和监控,该系统可以通过浏览器访问地址***。 ActiveMQ支持Point-to-Point(点对点)和Publisher/Subscriber(发布/订阅者)两种消息模式。Queue(队列)用于...
Apache ActiveMQ是业界广泛使用的开源消息中间件,它遵循Java Message Service (JMS) 规范,提供高效、可靠的异步消息传递服务。在Windows环境下,ActiveMQ的部署和启动相对简单,尤其对于5.15.2这个稳定版本。本...