Repository: camel
Updated Branches:
  refs/heads/master 7a98001b7 -> 690c92c85


Polished


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/690c92c8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/690c92c8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/690c92c8

Branch: refs/heads/master
Commit: 690c92c85b12fe34749d112e7f2b675ffaa7a3ac
Parents: 7a98001
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sat May 27 10:00:38 2017 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sat May 27 10:00:38 2017 +0200

----------------------------------------------------------------------
 .../camel/processor/interceptor/Debug.java       | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/690c92c8/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java
index 18c42e7..e62a79e 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java
@@ -44,16 +44,25 @@ public class Debug implements InterceptStrategy {
         return new DelegateAsyncProcessor(target) {
             @Override
             public boolean process(final Exchange exchange, final 
AsyncCallback callback) {
-                debugger.beforeProcess(exchange, target, definition);
+                try {
+                    debugger.beforeProcess(exchange, target, definition);
+                } catch (Throwable e) {
+                    exchange.setException(e);
+                    callback.done(true);
+                    return true;
+                }
+
                 final StopWatch watch = new StopWatch();
 
                 return processor.process(exchange, new AsyncCallback() {
                     public void done(boolean doneSync) {
                         long diff = watch.stop();
-                        debugger.afterProcess(exchange, processor, definition, 
diff);
-
-                        // must notify original callback
-                        callback.done(doneSync);
+                        try {
+                            debugger.afterProcess(exchange, processor, 
definition, diff);
+                        } finally {
+                            // must notify original callback
+                            callback.done(doneSync);
+                        }
                     }
                 });
             }

Reply via email to