Repository: camel Updated Branches: refs/heads/master 05ca8addd -> 4cca8a864
CAMEL-7636: JMS request/reply onTimeout must catch exception to ensure entry is removed from timeout list otherwise could lead to endless retry attempts on next eviction runs. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4cca8a86 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4cca8a86 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4cca8a86 Branch: refs/heads/master Commit: 4cca8a864d13e02c686979b84203cf038ba53ce2 Parents: 05ca8ad Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Jul 25 09:44:07 2014 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Jul 25 09:44:07 2014 +0200 ---------------------------------------------------------------------- .../camel/component/jms/reply/CorrelationTimeoutMap.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/4cca8a86/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/CorrelationTimeoutMap.java ---------------------------------------------------------------------- diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/CorrelationTimeoutMap.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/CorrelationTimeoutMap.java index 7b279d9..3d86be1 100644 --- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/CorrelationTimeoutMap.java +++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/CorrelationTimeoutMap.java @@ -50,7 +50,13 @@ public class CorrelationTimeoutMap extends DefaultTimeoutMap<String, ReplyHandle } // trigger timeout - value.onTimeout(key); + try { + value.onTimeout(key); + } catch (Throwable e) { + // must ignore so we ensure we evict the element + log.warn("Error processing onTimeout for correlationID: " + key + " due: " + e.getMessage() + ". This exception is ignored.", e); + } + // return true to remove the element log.trace("Evicted correlationID: {}", key); return true;