Repository: camel Updated Branches: refs/heads/camel-2.12.x dd89d6b88 -> 30d9b4361 refs/heads/master 61a1a2ab0 -> 036f6cbb1
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/30d9b436 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/30d9b436 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/30d9b436 Branch: refs/heads/camel-2.12.x Commit: 30d9b4361266769215caed7592339d85603496eb Parents: dd89d6b Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Jul 25 09:44:07 2014 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Jul 28 14:05:14 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/30d9b436/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;