We need to allow message redelivery to multiple consumers of the same
queue.  The consumers stop and restart/recover the session when they
need.  Unacknowledged messages need to be consumed by any consumer. We
have set the broker up according to the instructions in the page
http://activemq.apache.org/message-redelivery-and-dlq-handling.html

Here is an excerpt from the actual config file:

        <plugins>
          <redeliveryPlugin fallbackToDeadLetter="false"
sendToDlqIfMaxRetriesExceeded="true">
              <redeliveryPolicyMap>
              <redeliveryPolicyMap>
                      <redeliveryPolicyEntries>
                          <!-- a destination specific policy -->
                          <redeliveryPolicy queue="Queue"
maximumRedeliveries="3" redeliveryDelay="10000" />
                      </redeliveryPolicyEntries>
                      <!-- the fallback policy for all other
destinations -->
                      <defaultEntry>
                          <redeliveryPolicy maximumRedeliveries="-1"
initialRedeliveryDelay="5000" redeliveryDelay="10000" />
                      </defaultEntry>
              </redeliveryPolicyMap>
              </redeliveryPolicyMap>
          </redeliveryPlugin>
        </plugins>

We can see it working, in that the messages now are delivered to two
consumers currently running but the messages always end up on the Dead
Letter Queue after a few retries.  What we want is to ensure that the
messages stay on the queue forever until they are consumed and
acknowledged.  Can anyone tell me how to do this, thanks?

Reply via email to