如何每次在同一台服务器上启动ActiveMQ WebConsole?

时间:2016-03-14 15:04:12

标签: activemq apache-zookeeper

我有3个虚拟机,每个虚拟机都运行zookeeperactivemq。 每次启动ActiveMQ时,ActiveMQ WebConsole都会在另一台服务器上启动。我想每次都在同一台服务器上启动ActiveMQ WebConsole,所以我不需要弄清楚哪些是通过日志运行webconsole

这是jetty.xml的配置方式:

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
         <!-- the default port number for the web console -->
    <property name="host" value="0.0.0.0"/>
    <property name="port" value="8161"/>
</bean>

2 个答案:

答案 0 :(得分:3)

这是不可能的,因为嵌入式Web服务器在作为主服务器的代理上运行。

您可以查看允许远程管理的其他Web控制台,例如可以连接到远程服务器的hawtio。您可以在本地计算机上启动hawtio,或者让它在其他主机上运行,​​或者在这3个节点之一上单独启动它。

答案 1 :(得分:1)

像Claus一样运行本地Hawt.io是一个很好的选择。

如果您想坚持使用Web控制台,您实际上可以将其连接到当前的主代理。

您需要以非嵌入模式启动控制台并设置(至少)三个系统属性。也就是说,通常这涉及在Tomcat或类似内部部署direct execution of Junit tests

webconsole.jms.url=failover:(tcp://serverA:61616,tcp://serverB:61616)
webconsole.jmx.url=service:jmx:rmi:///jndi/rmi://serverA:1099/jmxrmi,service:jmx:rmi:///jndi/rmi://serverB:1099/jmxrmi
webconsole.type=properties

web-console .war讨论使用嵌入式Web控制台进行故障转移。我不知道它是否适用于当前版本的所有细节。