Repository: camel
Updated Branches:
  refs/heads/camel-2.13.x 02a8e9cd5 -> f0a11552a
  refs/heads/master d8d030165 -> 2ec2d44f3


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/f0a11552
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f0a11552
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f0a11552

Branch: refs/heads/camel-2.13.x
Commit: f0a11552a901df1e35ed21aa5a84ee9cf74713c8
Parents: 02a8e9c
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 17:04:36 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/f0a11552/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;

Reply via email to