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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content