You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/01/19 16:25:22 UTC

svn commit: r1435570 - in /camel/trunk/camel-core/src/test/java/org/apache/camel/processor: FlipRoutePolicy.java FlipRoutePolicyTest.java

Author: davsclaus
Date: Sat Jan 19 15:25:22 2013
New Revision: 1435570

URL: http://svn.apache.org/viewvc?rev=1435570&view=rev
Log:
Fixed test to properly flip routes using a separate thread

Modified:
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java?rev=1435570&r1=1435569&r2=1435570&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java Sat Jan 19 15:25:22 2013
@@ -47,14 +47,34 @@ public class FlipRoutePolicy extends Rou
         String stop = route.getId().equals(name1) ? name1 : name2;
         String start = route.getId().equals(name1) ? name2 : name1;
 
-        CamelContext context = exchange.getContext();
-        try {
-            context.getInflightRepository().remove(exchange);
-            context.stopRoute(stop);
-            context.startRoute(start);
-        } catch (Exception e) {
-            // let the exception handle handle it, which is often just to log it
-            getExceptionHandler().handleException("Error flipping routes", e);
+        FlipThread thread = new FlipThread(exchange.getContext(), start, stop);
+        thread.start();
+    }
+
+    /**
+     * Use a thread to flip the routes.
+     */
+    private class FlipThread extends Thread {
+
+        private final CamelContext context;
+        private final String start;
+        private final String stop;
+
+        private FlipThread(CamelContext context, String start, String stop) {
+            this.context = context;
+            this.start = start;
+            this.stop = stop;
+        }
+
+        @Override
+        public void run() {
+            try {
+                context.stopRoute(stop);
+                context.startRoute(start);
+            } catch (Exception e) {
+                // let the exception handle handle it, which is often just to log it
+                getExceptionHandler().handleException("Error flipping routes", e);
+            }
         }
     }
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java?rev=1435570&r1=1435569&r2=1435570&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicyTest.java Sat Jan 19 15:25:22 2013
@@ -28,10 +28,10 @@ public class FlipRoutePolicyTest extends
 
     public void testFlipRoutePolicyTest() throws Exception {
         MockEndpoint foo = getMockEndpoint("mock:foo");
-        foo.expectedMinimumMessageCount(5);
+        foo.expectedMinimumMessageCount(3);
 
         MockEndpoint bar = getMockEndpoint("mock:bar");
-        bar.expectedMinimumMessageCount(5);
+        bar.expectedMinimumMessageCount(3);
 
         assertMockEndpointsSatisfied();
     }