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 {