[
https://issues.apache.org/activemq/browse/CAMEL-2616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60396#action_60396
]
Claus Ibsen commented on CAMEL-2616:
------------------------------------
There is a new option on the error handler / on exception / redelivery policy
you can configure - {{syncDelayedRedelivery}}
If this option is enabled then it behaves like now, by blocking in current
thread while sleeping.
However the new default is now that it will *not block* while waiting, but
schedule a future task to perform the redelivery and continue routing. This is
possible due the async routing engine.
In terms of transactions, then Camel detects this and *always* fallback to
block. So if you are using transactions the thread *will block*.
BTW: you may want to enable {{syncDelayedRedelivery}} (= *blocked*) in case you
want to ensure the ordering the messages is processed. Because if this options
is not used, then in case of a delayed redelivery, then the caller thread will
break out and in the mean time it can process the next message. Which means the
2nd message can be completed before the 1st message while its pending for
redelivery.
> RedeliveryErrorHandler - Add option to let delayed Exchange be non blocked
> --------------------------------------------------------------------------
>
> Key: CAMEL-2616
> URL: https://issues.apache.org/activemq/browse/CAMEL-2616
> Project: Apache Camel
> Issue Type: New Feature
> Components: camel-core
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Fix For: 2.4.0
>
>
> See nabble
> http://old.nabble.com/Message-blocks-route-until-all-redelivery-attempts-are-exhausted-ts28123035.html
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.