Как каждый раз запускать ActiveMQ WebConsole на одном и том же сервере?
У меня есть 3 виртуальные машины, каждая из которых работает zookeeper
а также activemq
, Каждый раз, когда я начинаю 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 ответа
Это невозможно, поскольку встроенный веб-сервер работает на брокере, который является главным.
Вы можете посмотреть на альтернативные веб-консоли, которые позволяют удаленное управление, такие как hawtio, которые могут подключаться к удаленным серверам. Вы можете запустить hawtio на локальном компьютере или запустить на другом хосте, или запустить его отдельно на одном из этих трех узлов и т. Д.
Запуск местного Hawt.io, такого как советы Клауса, является отличным вариантом.
Если вы хотите придерживаться веб-консоли, вы можете подключить ее к текущему главному брокеру.
Вам нужно будет запустить консоль в не встроенном режиме и установить (как минимум) три системных свойства. То есть обычно это включает в себя развертывание веб-консоли.war внутри Tomcat или аналогичного.
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
Старая статья, в которой обсуждается также использование встроенных веб-консолей для восстановления после отказа. Я не знаю, применимо ли это во всех деталях к текущим версиям.