You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2011/12/17 14:03:40 UTC
svn commit: r1215482 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/impl/RouteService.java
test/java/org/apache/camel/impl/RouteRemoveTest.java
Author: ningjiang
Date: Sat Dec 17 13:03:39 2011
New Revision: 1215482
URL: http://svn.apache.org/viewvc?rev=1215482&view=rev
Log:
CAMEL-4790 Using the CamelContext.stopRoute(routeId) should not remove the route from context
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/RouteService.java
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/RouteRemoveTest.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/RouteService.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/RouteService.java?rev=1215482&r1=1215481&r2=1215482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/RouteService.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/RouteService.java Sat Dec 17 13:03:39 2011
@@ -214,8 +214,9 @@ public class RouteService extends ChildS
// fire event
EventHelper.notifyRouteStopped(camelContext, route);
}
-
- camelContext.removeRouteCollection(routes);
+ if (isRemovingRoutes()) {
+ camelContext.removeRouteCollection(routes);
+ }
// need to warm up again
warmUpDone.set(false);
}
@@ -238,7 +239,9 @@ public class RouteService extends ChildS
for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
strategy.onRoutesRemove(routes);
}
-
+
+ camelContext.removeRouteCollection(routes);
+
// clear inputs on shutdown
inputs.clear();
warmUpDone.set(false);
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/RouteRemoveTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/RouteRemoveTest.java?rev=1215482&r1=1215481&r2=1215482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/RouteRemoveTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/RouteRemoveTest.java Sat Dec 17 13:03:39 2011
@@ -17,6 +17,7 @@
package org.apache.camel.impl;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -25,6 +26,17 @@ import org.apache.camel.component.mock.M
*/
public class RouteRemoveTest extends ContextTestSupport {
+ public void testStopRouteOnContext() throws Exception {
+ assertEquals(ServiceStatus.Started, ((DefaultRoute) context.getRoute("foo")).getStatus());
+ assertEquals(ServiceStatus.Started, context.getRouteStatus("foo"));
+
+ context.stopRoute("foo");
+
+ assertEquals(ServiceStatus.Stopped, ((DefaultRoute) context.getRoute("foo")).getStatus());
+ assertEquals(ServiceStatus.Stopped, context.getRouteStatus("foo"));
+ }
+
+
public void testRemove() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceived("A");