可以在 Wildfly 的 JVM 中启动 JMS 代理,因此无需设置不同的 ActiveMQ 服务器。
我所做的只是更改standalone.xml 中的传输协议
从 :
tcp://localhost:61616?jms.rmIdFromConnectionId=true
至 :
vm://localhost?broker.persistent=false
将持久性设置为 false 以避免持久性配置很重要。另外,还可以通过参数 brokerConfig=xbean:activemq.xml 设置 ActiveMQ 配置文件 监控 JMS 队列
现在 ActiveMQ 控制台已关闭,您可能想知道如何检查队列。您可以通过连接到 Wildfly JVM 的 JMX 环境来实现。
你有两个选择:
- 使用 ActiveMQ Web 控制台 - 使用 JConsole
- 使用 ActiveMQ Web 控制台
要在 Wildfly 中启用 ActiveMQ 控制台,只需要两个步骤:
在standalone.xml 中设置JVM 系统参数,通知ActiveMQ 控制台应用程序通过JMX 连接。在 extensions 标签下添加以下 JVM 系统参数:
部署 ActiveMQ 控制台战争。这场战争包含 jboss-client.jar(在 /lib 下)。
ActiveMQ 应该在此 WildFly 上下文下运行
http://localhost:8080/activemq-web-console-5.11.1/
- 使用 JConsole
只需通过在其类路径中添加 jar jboss-cli-client.jar 来使用 JConsole。我添加了 bat 文件以在 Windows 上运行 jconsole。只需设置 JAVA_HOME 和 JBOSS_JAR。
设置 JAVA_HOME=
设置 JBOSS_JAR=
%JAVA_HOME%\bin\jconsole -J-Djava.class.path=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\jconsole.jar;%JBOSS_JAR%\jboss-cli-client.jar"
在 JConsole 中的新连接上,选择远程进程。将值设置为:
服务:jmx:http-remoting-jmx://localhost:9990
用户名:your_admin_username
密码:your_admin_password
将出现几个选项卡。
转到 MBeans 选项卡,org.apache.activeMQ 子树将出现在左侧。
如需进一步参考,请参阅:
http://javagoogleappspot.blogspot.be/2015/12/embed-your-activemq-broker-within-your.html