如何在 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 代理删除离线持久订阅者

在没有启用咨询支持的情况下,代理的 activemq 静态网络是不是会停止转发消息?

在同一条消息中从嵌入式代理接收消息的最佳方式是啥?(ActiveMQ)

Groovy ActiveMQ 5.8嵌入式代理

活动 MQ 嵌入式代理;在生产中实用且可靠?