Spring Boot-启动时启动ActiveMQ Web控制台

我有一个Spring Boot" title="Spring Boot">Spring Boot应用程序,它可以自动启动ActiveMQ代理(vm:// localhost):它可以工作,我可以成功发送和接收消息。

我希望Spring Boot也启动 ActiveMQ Web控制台, 例如http:// localhost:8161 /

admin(与H2数据库控制台类似)。

:如何使Spring Boot应用程序启动ActiveMQ Web控制台?

:仅适用于特定的Spring @profile?

提前致谢

:我已经查看了如何在ActiveMq嵌入式代理上启用Web控制台,但这需要使用我不想/不能使用的hawtio。

回答:

Web控制台是一个Web应用程序,可以在任何servlet容器(例如Tomcat)中下载并启动。

这是一些步骤。

在activemq.xml中为JMX使用启用ActiveMQ。即-在broker标签中启用它:<broker useJmx="true"..和

并确定createConnectortrue

<managementContext>

<managementContext createConnector="true"/>

</managementContext>

从Maven下载.war。最好使用与代理相同的版本。

http://repo1.maven.org/maven2/org/apache/activemq/activemq-web-

console/5.14.5/

然后设置以下JVM属性(JAVA_OPTS)。请注意,如果更改了URL和端口,它们可能会有所不同。

-Dwebconsole.type=properties 

-Dwebconsole.jms.url=tcp://localhost:61616

-Dwebconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

如果您没有Tomcat(或servlet容器),并且希望使用“ java -jar

..”运行Spring引导应用程序,则可以使用Web控制台执行相同的操作。

以下使用此应用程序的示例:https :

//github.com/jsimone/webapp-runner

由于未与webapp-runner捆绑在一起,因此不得不添加jstl jar。

java -Dwebconsole.type=properties -Dwebconsole.jms.url=tcp://localhost:61616 -Dwebconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi -cp jstl-1.2.jar:webapp-runner.jar webapp.runner.launch --port 8085 activemq-web-console-5.14.5.war

管理控制台将托管在本地主机的端口8085上。这只是一个启动器。您可能需要添加故障转移,安全性等。YMMV

以上是 Spring Boot-启动时启动ActiveMQ Web控制台 的全部内容, 来源链接: utcz.com/qa/412556.html

回到顶部