sdoghds88888 发表于 2016-12-31 11:38:29

Apache ActiveMQ教程(四)

七、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
页: [1]
查看完整版本: Apache ActiveMQ教程(四)