将 ActiveMQ 与 Tomcat 集成
Integrating ActiveMQ with Tomcat
我正在寻找有关将 activemq 与 tomcat 集成的技巧。
我的架构如下所示,其中每个应用 运行 在不同的 jvm/machines、
生产者应用 -> tomcat (activemq) -> 消费者应用
消费者和生产者应该连接到远程机器上的 activemq。我也想启用网络控制台。
首先您应该在远程计算机上下载并安装 ActiveMQ,Web 控制台将默认启用。
其次,您应该配置每个 tomcat 节点。
将activemq-all.jar(5.11及以上版本,可以在这里下载http://mvnrepository.com/artifact/org.apache.activemq/activemq-all)放入$TOMCAT_HOME/lib文件夹。
ActiveMQ 已为其所有受管理对象准备好 JNDI 资源工厂:ConnectionFactory 和目的地。
您必须将其作为资源的参数工厂提供:
添加到$TOMCAT_HOME/CONF/context.xml
<Resource name="jms/activemq-factory"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://${broker.host}:${broker.port}"
brokerName="LocalActiveMQBroker"
useEmbeddedBroker="false"/>
<Resource name="jms/activemq-topic"
auth="Container"
type="org.apache.activemq.command.ActiveMQTopic"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
physicalName="activemq-topic"/>
将 broker.host 和 broker.port 替换为真正的 ActiveMQ 参数。
现在您可以为 activevemq-topic 编写消费者。
就这些了。
我正在寻找有关将 activemq 与 tomcat 集成的技巧。
我的架构如下所示,其中每个应用 运行 在不同的 jvm/machines、
生产者应用 -> tomcat (activemq) -> 消费者应用
消费者和生产者应该连接到远程机器上的 activemq。我也想启用网络控制台。
首先您应该在远程计算机上下载并安装 ActiveMQ,Web 控制台将默认启用。
其次,您应该配置每个 tomcat 节点。
将activemq-all.jar(5.11及以上版本,可以在这里下载http://mvnrepository.com/artifact/org.apache.activemq/activemq-all)放入$TOMCAT_HOME/lib文件夹。 ActiveMQ 已为其所有受管理对象准备好 JNDI 资源工厂:ConnectionFactory 和目的地。 您必须将其作为资源的参数工厂提供:
添加到$TOMCAT_HOME/CONF/context.xml
<Resource name="jms/activemq-factory"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://${broker.host}:${broker.port}"
brokerName="LocalActiveMQBroker"
useEmbeddedBroker="false"/>
<Resource name="jms/activemq-topic"
auth="Container"
type="org.apache.activemq.command.ActiveMQTopic"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
physicalName="activemq-topic"/>
将 broker.host 和 broker.port 替换为真正的 ActiveMQ 参数。
现在您可以为 activevemq-topic 编写消费者。 就这些了。