3

我们曾经使用ActiveMQ 5.5作为JBoss 5中的嵌入式服务(通过 ActiveMQ 资源适配器),因此 JMS 代理始终在与客户端应用程序本身相同的 JVM 上运行在本地主机上。我们按照此说明进行配置 - http://activemq.apache.org/integrating-apache-activemq-with-jboss.html

现在我正在尝试为JBoss 7做同样的事情,但找不到任何明确的指导如何去做。

有人做过吗?您能否指出将 ActiveMQ 集成到 JBoss 7 中的具体步骤的指南?

谢谢你。

4

2 回答 2

1

我必须升级到 ActiveMQ 5.6

于 2012-12-20T17:05:39.483 回答
1

可以在 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

  1. 使用 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/

  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

于 2015-12-09T22:35:47.413 回答