破坏时无法恢复池化的JMS连接

时间:2016-02-12 14:48:19

标签: caching connection jms ibm-mq atomikos

我们使用atomikos(3.9.2)来管理连接池以及jms和数据库访问的事务。我们有spring(4.1.6)bean定义如下。                                                                         

<bean id="atomikosConnectionFactory" class="com.atomikos.jms.AtomikosConnectionFactoryBean" init-method="init" destroy-method="close">
        <property name="xaConnectionFactory"><ref bean="jmsConnectionFactory"/></property>
        <property name="uniqueResourceName" value="ATOMIKOS_JMS_TEST"/>
        <property name="poolSize" value="5"/>
</bean>

<bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
      <property name="targetConnectionFactory" ref="atomikosConnectionFactory" />
      <property name="cacheProducers" value="false" />
      <property name="sessionCacheSize" value="5" />
</bean>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="cachingConnectionFactory" />
    <property name="defaultDestinationName" value="QUEUE.TEST" />
</bean>    

目前,当连接池中的连接中断时,我们遇到问题,我们看到CachingConnectionFactory尝试重置连接,但是没有看到从ibm连接工厂获取新连接。由于没有可用的连接,应用程序最终会挂起。

如果我们错过了配置中的任何内容,或者我们遇到了当前使用技术实施的一些限制,请有人告诉我们。

提前感谢任何人提供的任何帮助或暗示。

0 个答案:

没有答案