Setting broker-based redelivery delays not working as expected

Solution Verified - Updated -

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:

  1. Send message immediately;
  2. If that fails, redeliver after 1 second;
  3. 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.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.