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

时间:2018-01-09 09:22:58

标签: spring activemq

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>

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

<bean id="brokerService" class="org.apache.activemq.xbean.BrokerFactoryBean">
  <property name="config" value="/WEB-INF/activemq.xml"/>
</bean>

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

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

webconsole.type=properties
webconsole.jms.url=tcp://localhost:61616
webconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-trun

问题是,必须在Tomcat嵌入式应用程序中何处设置这些属性,以及必须执行上述哪些XML更改才能使用它们。我找不到任何合理的解释如何配置它,剩下的spring配置似乎需要BrokerService实例。

有什么想法吗?

不建议使用hawtio代替!

1 个答案:

答案 0 :(得分:0)

我今天遇到了同样的问题。您可以在“属性”模式下启动Webconsole,这使您有机会通过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 

也在此处讨论:https://svn.apache.org/repos/infra/websites/production/activemq/content/5.7.0/web-console.html