将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
代替!
答案 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