CAMEL-7351: Fixed potential NPE when tracing and capturing from a context 
scoped onException.


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

Branch: refs/heads/master
Commit: 3fe8ca7666406b4e5a7c32d57c6bdf147e5ca870
Parents: 65648d1
Author: Claus Ibsen <davscl...@apache.org>
Authored: Thu Apr 10 09:22:21 2014 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Thu Apr 10 09:36:35 2014 +0200

----------------------------------------------------------------------
 .../java/org/apache/camel/processor/CamelInternalProcessor.java   | 2 +-
 .../processor/interceptor/DefaultBacklogTracerEventMessage.java   | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3fe8ca76/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
 
b/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
index 46b2b24..7ebd726 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
@@ -519,7 +519,7 @@ public class CamelInternalProcessor extends 
DelegateAsyncProcessor {
                         backlogTracer.isBodyIncludeStreams(), 
backlogTracer.isBodyIncludeFiles(), backlogTracer.getBodyMaxChars());
 
                 // if first we should add a pseudo trace message as well, so 
we have a starting message (eg from the route)
-                String routeId = routeDefinition.getId();
+                String routeId = routeDefinition != null ? 
routeDefinition.getId() : null;
                 if (first) {
                     Date created = 
exchange.getProperty(Exchange.CREATED_TIMESTAMP, timestamp, Date.class);
                     DefaultBacklogTracerEventMessage pseudo = new 
DefaultBacklogTracerEventMessage(backlogTracer.incrementTraceCounter(), 
created, routeId, null, exchangeId, messageAsXml);

http://git-wip-us.apache.org/repos/asf/camel/blob/3fe8ca76/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultBacklogTracerEventMessage.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultBacklogTracerEventMessage.java
 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultBacklogTracerEventMessage.java
index 4cb5dff..0db7283 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultBacklogTracerEventMessage.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultBacklogTracerEventMessage.java
@@ -91,7 +91,8 @@ public final class DefaultBacklogTracerEventMessage 
implements BacklogTracerEven
         sb.append(prefix).append("  <uid>").append(uid).append("</uid>\n");
         String ts = new SimpleDateFormat(TIMESTAMP_FORMAT).format(timestamp);
         sb.append(prefix).append("  
<timestamp>").append(ts).append("</timestamp>\n");
-        sb.append(prefix).append("  
<routeId>").append(routeId).append("</routeId>\n");
+        // route id is optional and we then use an empty value for no route id
+        sb.append(prefix).append("  <routeId>").append(routeId != null ? 
routeId : "").append("</routeId>\n");
         if (toNode != null) {
             sb.append(prefix).append("  
<toNode>").append(toNode).append("</toNode>\n");
         } else {

Reply via email to