将ActiveMQ与Tomcat集成

时间:2015-09-08 19:47:37

标签: java tomcat activemq

我正在寻找有关将activemq与tomcat集成的技巧。

我的架构如下图所示,每个应用程序在不同的jvm / machines上运行,

制作人应用 - > tomcat(activemq) - >消费者应用

消费者和生产者应该连接到远程计算机上的activemq。我还希望启用Web控制台。

1 个答案:

答案 0 :(得分:4)

首先,您应该在远程计算机上下载并安装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参数。

现在您可以为acticvemq-topic编写消费者。 多数民众赞成。