Hi all!
I have to fix an inherited application from another company, and I have an
error which is not clear to me: the jms listener stops working suddently
without any evident reason.

It's a spring-based client, here is the context:

/<bean id="amqConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory" >
    <property name="useAsyncSend" value="false" />
    <property name="useCompression" value="true" />
    <property name="optimizeAcknowledge" value="true" />
    <property name="messagePrioritySupported" value="true" />
    <property name="brokerURL"
value="failover:(tcp://${brokerHost}:61616)?timeout=3000&jms.redeliveryPolicy.maximumRedeliveries=-1&jms.redeliveryPolicy.maximumRedeliveryDelay=1000000&jms.redeliveryPolicy.useExponentialBackOff=true"
/>
    <property name="maxThreadPoolSize" value="60" />
    <property name="closeTimeout" value="2000" />
    <property name="nonBlockingRedelivery" value="true" />
    <property name="exclusiveConsumer" value="false" />
</bean>

<bean id="jmsConnectionFactory" 
class="org.apache.activemq.pool.PooledConnectionFactory" >
    <property name="connectionFactory" ref="amqConnectionFactory" /> 
    <property name="maxConnections" value="50" />
    <property name="maximumActiveSessionPerConnection" value="100" />
    <property name="idleTimeout" value="20000" />
    <property name="expiryTimeout" value="15000" />
</bean>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"
abstract="true">
    <property name="connectionFactory" ref="jmsConnectionFactory"/>
    <property name="explicitQosEnabled" value="true"/>
    <property name="sessionTransacted" value="true" />
    <property name="sessionAcknowledgeModeName" value="CLIENT_ACKNOWLEDGE"
/>
    <property name="receiveTimeout" value="4000" />
</bean>

<bean id="actionsJmsTemplate" parent="jmsTemplate">
    <property name="defaultDestination" ref="actionPendingDestination"/>
</bean>

<bean id="jmsActionsListenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsConnectionFactory"/>
    <property name="destination" ref="actionPendingDestination"/>
    <property name="messageSelector" value="" />
    <property name="messageListener" ref="actionsListener" />
    <property name="sessionTransacted" value="true"/>
    <property name="cacheLevelName" value="CACHE_SESSION" />
    <property name="maxConcurrentConsumers" value="50" />
    
    <property name="transactionTimeout" value="1000" />
</bean>


<bean id="actionPendingDestination"
class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg index="0" value="actions.pending.queue.>"/>/

The bean "actionsListener", which handles the messages inside the app,
implements javax.jms.MessageListener and
org.springframework.beans.factory.BeanNameAware. And it doesn't do anything
like acknowledge the session or manage a transaction. There's no code like
that in that class.

The versions of the libraries are:

Spring: 3.2.5.RELEASE
ActiveMQ client: 5.9
JDK: 1.6

Do you see any problem with this configuration?

You can also answer this question in SO: 
http://stackoverflow.com/questions/29012868/activemq-spring-listener-suddently-stops-working
<http://stackoverflow.com/questions/29012868/activemq-spring-listener-suddently-stops-working>
  

Thanks!

Carlos



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-Spring-listener-suddently-stops-working-tp4693077.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to