I am using DMLC to listen to Tibco EMS queues ( Tomcat). After some time, messages are not being delivered. After restarting, messages are delivered again. I am using SingleConnectionFactory.
Connection Factory:
 <bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jndiTemplate" />
    <property name="jndiName"     value="${connectionQueueFactory}" />
    <property name="cache"  value="false"/>
    <property name="lookupOnStartup" value="false"/>
    <property name="proxyInterface" value="javax.jms.ConnectionFactory"/>
 </bean>
Authenticated Connection Factory:
 <bean id="authenticationConnectionFactory"
    class="com.my.service.AuthenticationConnectionFactory"> <-- extends SingleConnectionFactory
    <property name="targetConnectionFactory" ref="jmsConnectionFactory" />
    <property name="username" value="${userName}" />
    <property name="password" value="${password}" />
    <property name="sessionCacheSize" value="1"/>
 </bean>
Destination Resolver:
<bean id="destinationResolver" class="org.springframework.jms.support.destination.JndiDestinationResolver">
    <property name="jndiTemplate" ref="jndiTemplate" />
   <property name="cache" value="true"/>
</bean>
Container:
<jms:listener-container concurrency="10-15" container-type="default" 
                        connection-factory="simpleAuthenticationConnectionFactory" 
                        destination-type="queue"
                        cache="consumer"
                        prefetch="1"
                        destination-resolver="destinationResolver"
                        acknowledge="transacted">
                 ..... listeners.....
  </jms:listener-container>
Thank you.
 
     
    