如何在 ActiveMq 嵌入式代理上启用 Web 控制台
Posted
技术标签:
【中文标题】如何在 ActiveMq 嵌入式代理上启用 Web 控制台【英文标题】:How to enable web console on ActiveMq embedded broker 【发布时间】:2013-12-11 06:47:15 【问题描述】:我使用 Spring 3.2.5 配置了一个 ActiveMQ 5.8.0 嵌入式代理
这是我的 jmsconfiguration.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" 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-3.2.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
<amq:broker brokerName="localhost" dataDirectory="./data" useJmx="true" persistent="true">
<amq:persistenceAdapter>
<amq:kahaDB directory="./kahadb" checksumJournalFiles="true" checkForCorruptJournalFiles="true" />
</amq:persistenceAdapter>
<amq:transportConnectors>
<amq:transportConnector name="websocket" uri="ws://0.0.0.0:61614"/>
<amq:transportConnector name="stomp" uri="stomp://0.0.0.0:61613"/>
<amq:transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
</amq:transportConnectors>
</amq:broker>
<amq:connectionFactory id="jmsFactory" brokerURL="vm://localhost" />
</beans>
能够访问网络控制台会非常好和有用......但是我一直在尝试启用它但没有成功。
有人知道怎么设置吗?
【问题讨论】:
【参考方案1】:你可以试试 hawtio - http://hawt.io/
它允许独立于代理所在的位置进行安装,并且可以在 JVM 内部查找代理,并且仍然可以用作 Web 控制台来管理代理。
hawtio 在 ActiveMQ 5.9 及更高版本中开箱即用,用于替换旧控制台(旧控制台已弃用,但仍包含在内,但将在未来版本中删除)。
hawtio 还可以管理 JVM 中的其他东西,例如 Camel,显示 JMX 等等。
如果您想在当前的 Spring 应用程序中包含旧的 Web 控制台,那么这可能会很困难,因为您需要包含它的所有 html/jps 内容等等。这不是一件容易的事。然后设置您的 web.xml 以包含旧控制台所需的内容,等等。
【讨论】:
我知道hawtio多年(我用它来管理JMX)并且永远不会认为他支持ActiveMQ。谢谢!以上是关于如何在 ActiveMq 嵌入式代理上启用 Web 控制台的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Spring Boot 配置嵌入式 ActiveMQ 代理 URL
在没有启用咨询支持的情况下,代理的 activemq 静态网络是不是会停止转发消息?