[
https://issues.apache.org/jira/browse/AMQ-3894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13399382#comment-13399382
]
Gary Tully edited comment on AMQ-3894 at 3/6/13 12:01 PM:
----------------------------------------------------------
Implementation of per destination broker redelivery using per destination
redelivery policy via redeliveryPlugin and schedulerSupport.
Relevant xml config:{code}
<broker xmlns="http://activemq.apache.org/schema/core"
schedulerSupport="true" >
<plugins>
<redeliveryPlugin fallbackToDeadLetter="true"
sendToDlqIfMaxRetriesExceeded="true">
<redeliveryPolicyMap>
<redeliveryPolicyMap>
<redeliveryPolicyEntries>
<!-- a destination specific policy -->
<redeliveryPolicy queue="SpecialQueue"
maximumRedeliveries="4" redeliveryDelay="10000" />
</redeliveryPolicyEntries>
<!-- the fallback policy for all other destinations -->
<defaultEntry>
<redeliveryPolicy maximumRedeliveries="4"
initialRedeliveryDelay="5000" redeliveryDelay="10000" />
</defaultEntry>
</redeliveryPolicyMap>
</redeliveryPolicyMap>
</redeliveryPlugin>
</plugins>
{code}
http://svn.apache.org/viewvc?rev=1352902&view=rev
was (Author: gtully):
Implementation of per destination broker redelivery using per destination
redelivery policy via redeliveryPlugin and schedulerSupport.
Relevant xml config:{code}
<broker xmlns="http://activemq.apache.org/schema/core"
schedulerSupport="true" >
<plugins>
<redeliveryPlugin fallbackToDeadLetter="true"
sendToDlqIfMaxRetriesExceeded="true">
<redeliveryPolicyMap>
<redeliveryPolicyMap>
<setRedeliveryPolicyEntries>
<!-- a destination specific policy -->
<redeliveryPolicy queue="SpecialQueue"
maximumRedeliveries="4" redeliveryDelay="10000" />
</setRedeliveryPolicyEntries>
<!-- the fallback policy for all other destinations -->
<defaultEntry>
<redeliveryPolicy maximumRedeliveries="4"
initialRedeliveryDelay="5000" redeliveryDelay="10000" />
</defaultEntry>
</redeliveryPolicyMap>
</redeliveryPolicyMap>
</redeliveryPlugin>
</plugins>
{code}
http://svn.apache.org/viewvc?rev=1352902&view=rev
> Add support for Broker based redelivery
> ---------------------------------------
>
> Key: AMQ-3894
> URL: https://issues.apache.org/jira/browse/AMQ-3894
> Project: ActiveMQ
> Issue Type: New Feature
> Components: Broker
> Reporter: Gary Tully
> Assignee: Gary Tully
> Fix For: 5.7.0
>
>
> redelivery is handled by the consumer, so client side. messages pending
> redelivery are seen as inflight by the broker and not available to other
> consumers. It is possible to break the order constraint and receive messages
> backed up behind a message pending redelivery, but this is all local to the
> client consumer.
> When redelivery is exhausted, the message is returned to the broker with a
> poison ack, which the broker responds by removing the message and doing Dead
> letter queue processing (DLQ).
> This enhancement will allow a replacement of DLQ handling that will handle
> redelivery. It is based on the ideas outlined and implemented by a camel
> route in https://issues.apache.org/jira/browse/AMQ-2710
> The idea is a BrokerPlugin will override sendToDeadLetterQueue and resend the
> message to the original destination in accordance with a matching
> RedeliveryPolicy. The resend will use the broker schedular to implement the
> delayed send after the message has been acked as poison by the consumer.
> So the message will essentially be enqueued at the tail of the queue and
> dispatched again to any available consumer.
> If retries are exceeded or there is no matching redelivery policy for a
> destination, normal DLQ processing will take place.
> This will work in conjunction with consumer/client redelivery exhaustion or
> using a redelivery policy in the url query of
> jms.redeliveryPolicy.maximumRedeliveries=0
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira