`

Active MQ技术文章 -- Active Mq连接池重连

    博客分类:
  • MQ
 
阅读更多

现象

    Active Mq 客户端连接Active Mq服务端时,如果因为服务器重启等原因导致Mq客户端无法发送Mq消息

原因

   Mq客户端的连接和服务端已经断开,但是客户端没有进行重连

解决方法

   Mq断开连接后,可以自动重连

 

 

main.properties

 

main.openmq.sName=330103000000800536
main.openmq.sPwd=123456
main.openmq.sIp=10.30.4.89
main.openmq.sPort=57666
 

spring+Active的配置:

 

 
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:aop="http://www.springframework.org/schema/aop"
     xmlns:tx="http://www.springframework.org/schema/tx"
     xmlns:context="http://www.springframework.org/schema/context"
     xsi:schemaLocation="
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
     
 
  	<context:annotation-config />
  	<context:component-scan base-package="
  		com.dahuazwan.ihds.mq.productor
  	" />
  	<!-- enable transaction demarcation with annotations -->
  	<tx:annotation-driven /> 
   
 	<!-- OpenMq -->
    <bean id = "connectionFactory" class = "org.apache.activemq.ActiveMQConnectionFactory">  
    	<property name="brokerURL" value="tcp://${main.openmq.sIp}:${main.openmq.sPort}" />
 		<property name="userName" value="${main.openmq.sName}" />
    	<property name="password" value="${main.openmq.sPwd}" />
	</bean>  
	
	<!-- 采用TCP长连接方式, 避免每次建立短连接需要的额外工作时间 -->
    <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
        <constructor-arg ref="connectionFactory"></constructor-arg>
    </bean>

	<!-- jms Template -->
	<bean id="innerJmsTemplate"
        class="org.springframework.jms.core.JmsTemplate" >
        <property name="connectionFactory" >
        	<bean class="org.springframework.jms.connection.SingleConnectionFactory">
                <property name="targetConnectionFactory" ref="pooledConnectionFactory" />
                <property name="reconnectOnException" value="true"/>
            </bean>
        </property>
        <property name="timeToLive" value="1000000"/>
        <property name="receiveTimeout" value="222222" />
    </bean>
 
    <!-- Sms Destination -->
    <bean id="smsDestination" class="org.apache.activemq.command.ActiveMQTopic">       
        <constructor-arg index="0" value="zw.public.all.sms"/>       
    </bean>

</beans> 

 里面的关键代码段是:

 

<property name="connectionFactory" >
        	<bean class="org.springframework.jms.connection.SingleConnectionFactory">
                <property name="targetConnectionFactory" ref="pooledConnectionFactory" />
                <property name="reconnectOnException" value="true"/>
            </bean>
        </property>

 如果设置reconnectOnException=true,则Jms连接发生异常时,重新向服务端发起连接,默认是false

 

 

 

参考文献

Spring JMS (3)

 

 

分享到:
评论

相关推荐

    Active mq jdbc持久化所需要的包.rar

    3. 可能还有其他依赖库:如连接池管理库(如HikariCP、C3P0等),用于优化数据库连接的创建和管理,提高性能和资源利用率。 将这些jar包放入项目的lib目录下,意味着它们将成为项目的一部分,供代码在运行时使用。...

    ActiveMQ高并发处理方案

    本文将详细介绍ActiveMQ在高并发环境下的优化策略,包括异常处理、连接池使用、消费者公平调度以及系统整体扩展等方面。 #### 二、高并发发送消息异常及其解决 ##### 现象描述 当使用多个线程(如10个)以一定频率...

    WAS 7 Concept,planing,design

    - **资源管理**:管理和配置各种资源,如数据库连接池、消息队列等。 - **性能优化**:通过缓存机制、负载均衡等手段提高系统的整体性能。 - **安全管理**:实现访问控制、加密传输等功能,保护企业应用免受攻击。 ...

    weblogic管理

    5. **数据源与连接池**:WebLogic Server支持JDBC数据源的配置,用于应用程序连接数据库。连接池管理数据源的分配和回收,提高系统性能。 6. **安全管理**:WebLogic Server提供角色、用户和权限的管理,支持SSL/...

    乐优商城订单微服务配置

    2. **数据库连接配置**:订单微服务需要与数据库交互,因此配置文件中会有数据库连接的相关信息,如数据库类型(MySQL、Oracle等)、URL、用户名、密码以及连接池配置(如HikariCP或Druid)。 3. **服务发现**:在...

    ca源码java-case:Java大合集,包含多种框架的运用,微服务,压测,性能分析,文档,源码分析

    ca 源码 java Case 案例合集 此项目定位是一个开箱即用的百宝箱项目 ...数据库连接池 , 分库分表 , 分布式事务处理 Case 4 Security 数据安全框架 , OAuth ,SAML 相关实现 Case 5 MQ Rabbit , Active

Global site tag (gtag.js) - Google Analytics