Setting broker-based redelivery delays not working as expected
Issue
We're using broker-based re-delivery with the following settings:
<redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
<redeliveryPolicyMap>
<redeliveryPolicyMap>
<redeliveryPolicyEntries>
<redeliveryPolicy queue=">" maximumRedeliveries=6" initialRedeliveryDelay="1000" redeliveryDelay="10000" />
</redeliveryPolicyEntries>
</redeliveryPolicyMap>
</redeliveryPolicyMap>
</redeliveryPlugin>
From reading JBoss Fuse documentation and ActiveMQ documentation, our understanding of the above configuration is:
- Send message immediately;
- If that fails, redeliver after 1 second;
- If that fails, redeliver 5 more times with a delay of 10 seconds between each delivery.
We're finding that instead of the above, the value of 'initialRedeliveryDelay' appears to be used for all delivery attempts.
Camel routes consume JMS messages. We're using XA transactions and rollback those transactions to trigger the re-deliveries.
Is this expected behavior?
Environment
- JBoss Fuse 6.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
