activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: Listener freezes on redelivery
Date Thu, 28 Sep 2006 16:40:57 GMT
To avoid breaking order, we process redelivered messages first before
other mesages are processed on the listener.

On 9/28/06, Maxim Grigoriev <darkit@mail.ru> wrote:
>
> i use 4.0.1 actovemq.
> JMSFactory and Broker configuration:
>
> <bean id="jmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
>         <property name="brokerURL">
>             <value>tcp://localhost:61616</value>
>         </property>
>         <property name="redeliveryPolicy">
>             <bean class="org.apache.activemq.RedeliveryPolicy">
>                 <property name="initialRedeliveryDelay" value="100000"/>
>                 <property name="backOffMultiplier" value="4"/>
>                 <property name="useExponentialBackOff" value="false"/>
>                 <property name="maximumRedeliveries" value="5"/>
>             </bean>
>         </property>
>     </bean>
>
>
> <bean id="broker" class="org.apache.activemq.broker.BrokerService"
>           init-method="start" destroy-method="stop">
>         <property name="persistent" value="true"/>
>         <property name="transportConnectorURIs">
>             <list>
>                 <value>tcp://localhost:61616</value>
>             </list>
>         </property>
>         <property name="persistenceAdapter">
>             <bean id="myPersistenceAdapter"
>
> class="org.apache.activemq.store.PersistenceAdapterFactoryBean">
>                 <property name="useJournal" value="false"/>
>                 <property name="dataSource" ref="dataSource"/>
>             </bean>
>         </property>
>         <property name="useJmx" value="false"/>
>     </bean>
>
> And here my listener configuration:
>
> <bean id="listenerContainer"
>
> class="org.springframework.jms.listener.DefaultMessageListenerContainer">
>         <property name="concurrentConsumers" value="1"/>
>         <property name="connectionFactory" ref="jmsFactory"/>
>         <property name="destination" ref="destination"/>
>         <property name="messageListener" ref="messageListener"/>
>         <property name="sessionTransacted" value="true"/>
>     </bean>
>
> When Listener receives message and if there's an error then Listener throws
> RuntimeException. This message should be redeliveried in
> "initialRedeliveryDelay" ms. But in this situation Listener is freezed and
> it doesn't process any other messages i. It waits "initialRedeliveryDelay"
> ms and tries to process old redelivery message.
> Is it bug or activemq feature ?
> Because i expected that Listener processed other messages in queue and when
> redelivery time came only then Listener processed redeliveried message. What
> we have now - big queue growing and very low perfomance.
>
> --
> View this message in context: http://www.nabble.com/Listener-freezes-on--redelivery-tf2351835.html#a6549570
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Mime
View raw message