Redelivery on a failure doesn't respect the initialRedeliveryDelay on the first
attempt.
----------------------------------------------------------------------------------------
Key: CAMEL-683
URL: https://issues.apache.org/activemq/browse/CAMEL-683
Project: Apache Camel
Issue Type: Improvement
Components: camel-jms
Affects Versions: 1.3.0
Environment: Linux, ActiveMQ 5.1, Spring 2.5.x with transacted
DefaultMessageListenerContainer
Reporter: Veit Guna
Hi.
I'm using ActiveMQ 5.1 together with Spring's DefaultMessageListenerContainer
to enable MDPs. I'm using the redeliveryPolicy to enable redelivery on failures
during consumption of a message. ActiveMQ configuration looks like this:
<camelContext id="camel"
xmlns="http://activemq.apache.org/camel/schema/spring">
<route errorHandlerRef="deadLetterErrorHandler">
<from uri="activemq:NEW" />
</route>
</camelContext>
<bean id="deadLetterErrorHandler"
class="org.apache.camel.builder.DeadLetterChannelBuilder">
<property name="redeliveryPolicy" ref="redeliveryPolicyConfig"/>
</bean>
<bean id="redeliveryPolicyConfig"
class="org.apache.camel.processor.RedeliveryPolicy">
<property name="maximumRedeliveries" value="4"/>
<property name="initialRedeliveryDelay" value="30000"/>
<property name="useExponentialBackOff" value="true"/>
<property name="backOffMultiplier" value="2" />
</bean>
Now if a failure occurs, the configured delay isn't used on the first
redelivery attempt. Instead redelivery takes place immediately after the
failure occured. This sounds odd to me, since the property is even called
initialRedeliveryDelay :). I know that maybe this was caused due to the
following issue:
https://issues.apache.org/activemq/browse/AMQ-1032
In my opinion immediately redelivery isn't very useful in most cases. If a
failure occurs, it won't be fixed some ms later :). So my suggestion is (in
respect to AMQ-1032) to have two options:
initialRedeliveryDelay
redeliveryDelay
So both configurations would be possible. For AMQ-1032 just configure
initialRedeliveryDelay to 0. Otherwise just take the redeliveryDelay as
initialRedeliveryDelay to get what I want :).
Does this make sense?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.