将ActiveMQ Web控制台连接到现有代理(而不是启动新代理)

Ole*_*yar 6 spring activemq-classic

activemq-web-console战争部署到Tomcat嵌入式应用程序后,如何使它连接到现有代理而不是创建新代理?

战争附带了一组预定义的配置,尤其是其中WEB-INF/activemq.xml包含了BrokerService

<broker brokerName="web-console" useJmx="true" xmlns="http://activemq.apache.org/schema/core">
  <persistenceAdapter><kahaDB directory="target/kahadb"/></persistenceAdapter>

  <transportConnectors>
    <transportConnector uri="tcp://localhost:12345"/>
  </transportConnectors>
</broker>
Run Code Online (Sandbox Code Playgroud)

从用于webconsole-embedded.xml以下列方式:

<bean id="brokerService" class="org.apache.activemq.xbean.BrokerFactoryBean">
  <property name="config" value="/WEB-INF/activemq.xml"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

此配置创建的新实例BrokerService并尝试启动代理。

据报道,Web控制台可用于监视现有的代理服务,而不是创建新的代理服务。为此,应在某处设置以下属性:

webconsole.type=properties
webconsole.jms.url=tcp://localhost:61616
webconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-trun
Run Code Online (Sandbox Code Playgroud)

问题是,在哪里必须在Tomcat嵌入式应用程序中设置这些属性,并且必须对上述XML进行哪些更改才能使用它们。我找不到任何明智的解释如何配置它,而BrokerService其余的spring配置似乎需要一个实例。

有任何想法吗?

不要建议使用hawtio,而不是!

Kim*_*ers 1

我今天也遇到了同样的问题。您可以在“属性”模式下启动 Web 控制台,这样您就有机会通过 jmx 进行连接。

我在 Jboss 6.1 中添加了以下 java 参数,它立即起作用了。我没有更改任何 xml(开箱即用)...

例子:

-Dwebconsole.type=properties -Dwebconsole.jms.url=tcp://<hostname>:61616 -Dwebconsole.jmx.url=service:jmx:rmi:///jndi/rmi://<hostname>:1090/jmxrmi -Dwebconsole.jmx.user=admin -Dwebconsole.jmx.password=123456 
Run Code Online (Sandbox Code Playgroud)

还在这里讨论:https://svn.apache.org/repos/infra/websites/product/activemq/content/5.7.0/web-console.html