我们使用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连接工厂获取新连接。由于没有可用的连接,应用程序最终会挂起。
如果我们错过了配置中的任何内容,或者我们遇到了当前使用技术实施的一些限制,请有人告诉我们。
提前感谢任何人提供的任何帮助或暗示。