Updated Branches:
  refs/heads/master 390467c81 -> 4dd6e5b1e

CAMEL-6377: Optimized routing engine to reduce stack frames in use during 
routing. Work in progress.


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

Branch: refs/heads/master
Commit: 4dd6e5b1e72327c4fc66dc7beeb4a707789da8e5
Parents: 390467c
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue May 21 15:07:32 2013 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue May 21 15:07:32 2013 +0200

----------------------------------------------------------------------
 .../camel/processor/interceptor/BacklogTracer.java |   11 +--
 .../interceptor/BacklogTracerInterceptor.java      |  107 ---------------
 2 files changed, 2 insertions(+), 116 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/4dd6e5b1/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
index 231628f..b739d09 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
@@ -84,16 +84,9 @@ public class BacklogTracer extends ServiceSupport implements 
InterceptStrategy {
     }
 
     @Override
+    @Deprecated
     public Processor wrapProcessorInInterceptors(CamelContext context, 
ProcessorDefinition<?> definition, Processor target, Processor nextTarget) 
throws Exception {
-        // is this the first output from a route, as we want to know this so 
we can do special logic in first
-        boolean first = false;
-        RouteDefinition route = ProcessorDefinitionHelper.getRoute(definition);
-        if (route != null && !route.getOutputs().isEmpty()) {
-            first = route.getOutputs().get(0) == definition;
-        }
-
-        processors.add(definition);
-        return new BacklogTracerInterceptor(queue, target, definition, route, 
first, this);
+        throw new UnsupportedOperationException("Deprecated");
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/4dd6e5b1/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracerInterceptor.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracerInterceptor.java
 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracerInterceptor.java
deleted file mode 100644
index c302b52..0000000
--- 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracerInterceptor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.processor.interceptor;
-
-import java.util.Date;
-import java.util.Queue;
-
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.processor.DelegateAsyncProcessor;
-import org.apache.camel.util.MessageHelper;
-
-/**
- * An interceptor for tracing messages by using the {@link BacklogTracer}.
- */
-@Deprecated
-public class BacklogTracerInterceptor extends DelegateAsyncProcessor {
-
-    private final Queue<DefaultBacklogTracerEventMessage> queue;
-    private final BacklogTracer backlogTracer;
-    private final ProcessorDefinition<?> processorDefinition;
-    private final ProcessorDefinition<?> routeDefinition;
-    private final boolean first;
-
-    public BacklogTracerInterceptor(Queue<DefaultBacklogTracerEventMessage> 
queue, Processor processor,
-                                    ProcessorDefinition<?> processorDefinition,
-                                    ProcessorDefinition<?> routeDefinition, 
boolean first,
-                                    BacklogTracer tracer) {
-        super(processor);
-        this.queue = queue;
-        this.processorDefinition = processorDefinition;
-        this.routeDefinition = routeDefinition;
-        this.first = first;
-        this.backlogTracer = tracer;
-    }
-
-    @Override
-    public boolean process(Exchange exchange, AsyncCallback callback) {
-        try {
-            if (backlogTracer.shouldTrace(processorDefinition, exchange)) {
-                // ensure there is space on the queue
-                int drain = queue.size() - backlogTracer.getBacklogSize();
-                // and we need room for ourselves and possible also a first 
pseudo message as well
-                drain += first ? 2 : 1;
-                if (drain > 0) {
-                    for (int i = 0; i < drain; i++) {
-                        queue.poll();
-                    }
-                }
-
-                Date timestamp = new Date();
-                String toNode = processorDefinition.getId();
-                String exchangeId = exchange.getExchangeId();
-                String messageAsXml = 
MessageHelper.dumpAsXml(exchange.getIn(), true, 4,
-                        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();
-                if (first) {
-                    Date created = 
exchange.getProperty(Exchange.CREATED_TIMESTAMP, timestamp, Date.class);
-                    DefaultBacklogTracerEventMessage pseudo = new 
DefaultBacklogTracerEventMessage(backlogTracer.incrementTraceCounter(), 
created, routeId, null, exchangeId, messageAsXml);
-                    queue.add(pseudo);
-                }
-                DefaultBacklogTracerEventMessage event = new 
DefaultBacklogTracerEventMessage(backlogTracer.incrementTraceCounter(), 
timestamp, routeId, toNode, exchangeId, messageAsXml);
-                queue.add(event);
-            }
-
-            // invoke processor
-            return super.process(exchange, callback);
-
-        } catch (Exception e) {
-            exchange.setException(e);
-            callback.done(true);
-            return true;
-        }
-    }
-
-    public void stop() throws Exception {
-        super.stop();
-        queue.clear();
-        // notify backlogTracer we are stopping to not leak resources
-        backlogTracer.stopProcessor(processorDefinition);
-    }
-
-    @Override
-    public String toString() {
-        return processor.toString();
-    }
-
-}
-

Reply via email to