Apache ActiveMQ教程(四)

来源:互联网 发布:电脑城套路知乎 编辑:程序博客网 时间:2024/06/06 03:00

七、ActiveMQ与Tomcat整合

说明:Tomcat示例版本6.0.14,其它版本在配置上可能有一些差异

1、准备jar包:

将ActiveMQ lib目录下的5个jar包复制到Tomcat lib目录下:

activemq-core-5.1.0.jar

activemq-web-5.1.0.jar

geronimo-j2ee-management_1.0_spec-1.0.jar

geronimo-jms_1.1_spec-1.1.1.jar

geronimo-jta_1.0.1B_spec-1.0.1.jar

2、修改配置文件:

2.1 修改Tomcat的conf/context.xml文件:

   在<context></context>节点中添加以下内容:

 

<Resource

    name="jms/FailoverConnectionFactory"

    auth="Container"

    type="org.apache.activemq.ActiveMQConnectionFactory"

    description="JMS Connection Factory"

    factory="org.apache.activemq.jndi.JNDIReferenceFactory"

    brokerURL="failover:(tcp://localhost:61616)?initialReconnectDelay=100&amp;maxReconnectAttempts=5"

   brokerName="localhost"

    useEmbeddedBroker="false"/>

 

<Resource

    name="jms/NormalConnectionFactory"

    auth="Container"

    type="org.apache.activemq.ActiveMQConnectionFactory"

    description="JMS Connection Factory"

    factory="org.apache.activemq.jndi.JNDIReferenceFactory"

    brokerURL="tcp://localhost:61616"

   brokerName="localhost"

    useEmbeddedBroker="false"/>

 

<Resource name="jms/topic/MyTopic"

    auth="Container"

    type="org.apache.activemq.command.ActiveMQTopic"

    factory="org.apache.activemq.jndi.JNDIReferenceFactory"

    physicalName="MY.TEST.FOO"/>

   

<Resource name="jms/queue/MyQueue"

    auth="Container"

    type="org.apache.activemq.command.ActiveMQQueue"

    factory="org.apache.activemq.jndi.JNDIReferenceFactory"

    physicalName="MY.TEST.FOO.QUEUE"/> 配置说明:以JNDI的方式定义了ActiveMQ的broker连接url、Topic和Queue。

 

 

 

 

此处需加以注意的是Listener端的borkerURL使用了failover传输方式:

failover:(tcp://localhost:61616)?initialReconnectDelay=100&amp;maxReconnectAttempts=5

客户端使用普通传输方式:tcp://localhost:61616

failover transport是一种重新连接机制,用于建立可靠的传输。此处配置的是一旦ActiveMQ broker中断,Listener端将每隔100ms自动尝试连接,直至成功连接或重试5次连接失败为止。

failover还支持多个borker同时提供服务,实现负载均衡的同时可增加系统容错性,格式:
failover:(uri1,...,uriN)?transportOptions


原创粉丝点击