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

Branch: refs/heads/master
Commit: c50d48ac36375a07049b32974991d22938a2ed72
Parents: 9708a10
Author: Claus Ibsen <davscl...@apache.org>
Authored: Mon May 20 18:27:18 2013 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue May 21 07:43:38 2013 +0200

----------------------------------------------------------------------
 .../org/apache/camel/impl/DefaultRouteContext.java |    3 -
 .../apache/camel/processor/CorrectRouteIdTest.java |   38 ++++++++++++++-
 2 files changed, 37 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c50d48ac/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
index 07c3235..3bcb8e8 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
@@ -36,7 +36,6 @@ import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.processor.CamelInternalProcessor;
 import org.apache.camel.processor.Pipeline;
-import org.apache.camel.processor.UnitOfWorkProcessor;
 import org.apache.camel.spi.InterceptStrategy;
 import org.apache.camel.spi.RouteContext;
 import org.apache.camel.spi.RoutePolicy;
@@ -153,8 +152,6 @@ public class DefaultRouteContext implements RouteContext {
             String routeId = 
route.idOrCreate(getCamelContext().getNodeIdFactory());
 
             // and wrap it in a unit of work so the UoW is on the top, so the 
entire route will be in the same UoW
-            //UnitOfWorkProcessor unitOfWorkProcessor = new 
UnitOfWorkProcessor(this, target);
-
             CamelInternalProcessor internal = new 
CamelInternalProcessor(target);
             internal.addTask(new 
CamelInternalProcessor.UnitOfWorkProcessorTask(routeId));
 

http://git-wip-us.apache.org/repos/asf/camel/blob/c50d48ac/camel-core/src/test/java/org/apache/camel/processor/CorrectRouteIdTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/processor/CorrectRouteIdTest.java 
b/camel-core/src/test/java/org/apache/camel/processor/CorrectRouteIdTest.java
index f5a5661..f91e7e2 100644
--- 
a/camel-core/src/test/java/org/apache/camel/processor/CorrectRouteIdTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/processor/CorrectRouteIdTest.java
@@ -16,5 +16,41 @@
  */
 package org.apache.camel.processor;
 
-public class CorrectRouteIdTest {
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+
+public class CorrectRouteIdTest extends ContextTestSupport {
+
+    public void testCorrectRouteId() throws Exception {
+        getMockEndpoint("mock:foo").expectedHeaderReceived("foo", "foo");
+        getMockEndpoint("mock:bar").expectedHeaderReceived("bar", "bar");
+        getMockEndpoint("mock:baz").expectedHeaderReceived("baz", "baz");
+
+        template.requestBody("direct:foo", "Hello World");
+
+        assertMockEndpointsSatisfied();
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:foo").routeId("foo")
+                    .setHeader("foo").simple("routeId")
+                    .to("mock:foo")
+                    .to("seda:bar")
+                    .to("mock:result");
+
+                from("seda:bar").routeId("bar")
+                    .setHeader("bar").simple("routeId")
+                    .to("mock:bar")
+                    .to("direct:baz");
+
+                from("direct:baz").routeId("baz")
+                    .setHeader("baz").simple("routeId")
+                    .to("mock:baz");
+            }
+        };
+    }
 }

Reply via email to