Author: davsclaus
Date: Wed May 1 06:09:48 2013
New Revision: 1477914
URL: http://svn.apache.org/r1477914
Log:
CAMEL-6330: Control Bus - Add suspend and resume actions
Modified:
camel/branches/camel-2.11.x/ (props changed)
camel/branches/camel-2.11.x/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
camel/branches/camel-2.11.x/camel-core/src/test/java/org/apache/camel/component/controlbus/ControlBusStartRouteTest.java
Propchange: camel/branches/camel-2.11.x/
------------------------------------------------------------------------------
Merged /camel/trunk:r1477913
Propchange: camel/branches/camel-2.11.x/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed May 1 06:09:48 2013
@@ -1 +1 @@
-/camel/trunk:1-1468763,1469704,1469819,1470420,1470426-1470427,1470429,1470508,1471293,1471330,1471407-1471408,1471543,1475657,1475677,1475742,1475786,1476113,1476428,1476442,1476448,1476502,1476545,1477851
+/camel/trunk:1-1468763,1469704,1469819,1470420,1470426-1470427,1470429,1470508,1471293,1471330,1471407-1471408,1471543,1475657,1475677,1475742,1475786,1476113,1476428,1476442,1476448,1476502,1476545,1477851,1477913
Modified:
camel/branches/camel-2.11.x/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-2.11.x/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java?rev=1477914&r1=1477913&r2=1477914&view=diff
==============================================================================
---
camel/branches/camel-2.11.x/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
(original)
+++
camel/branches/camel-2.11.x/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
Wed May 1 06:09:48 2013
@@ -147,6 +147,10 @@ public class ControlBusProducer extends
getEndpoint().getCamelContext().startRoute(id);
} else if ("stop".equals(action)) {
getEndpoint().getCamelContext().stopRoute(id);
+ } else if ("suspend".equals(action)) {
+ getEndpoint().getCamelContext().suspendRoute(id);
+ } else if ("resume".equals(action)) {
+ getEndpoint().getCamelContext().resumeRoute(id);
} else if ("status".equals(action)) {
ServiceStatus status =
getEndpoint().getCamelContext().getRouteStatus(id);
if (status != null) {
Modified:
camel/branches/camel-2.11.x/camel-core/src/test/java/org/apache/camel/component/controlbus/ControlBusStartRouteTest.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-2.11.x/camel-core/src/test/java/org/apache/camel/component/controlbus/ControlBusStartRouteTest.java?rev=1477914&r1=1477913&r2=1477914&view=diff
==============================================================================
---
camel/branches/camel-2.11.x/camel-core/src/test/java/org/apache/camel/component/controlbus/ControlBusStartRouteTest.java
(original)
+++
camel/branches/camel-2.11.x/camel-core/src/test/java/org/apache/camel/component/controlbus/ControlBusStartRouteTest.java
Wed May 1 06:09:48 2013
@@ -42,6 +42,29 @@ public class ControlBusStartRouteTest ex
assertEquals("Stopped", context.getRouteStatus("foo").name());
}
+ public void testControlBusSuspendResume() throws Exception {
+ assertEquals("Stopped", context.getRouteStatus("foo").name());
+
+ // store a pending message
+ getMockEndpoint("mock:foo").expectedBodiesReceived("Hello World");
+ template.sendBody("seda:foo", "Hello World");
+
+ // start the route using control bus
+ template.sendBody("controlbus:route?routeId=foo&action=start", null);
+
+ assertMockEndpointsSatisfied();
+
+ // now suspend the route, using a header
+ template.sendBody("controlbus:route?routeId=foo&action=suspend", null);
+
+ assertEquals("Suspended", context.getRouteStatus("foo").name());
+
+ // now resume the route, using a header
+ template.sendBody("controlbus:route?routeId=foo&action=resume", null);
+
+ assertEquals("Started", context.getRouteStatus("foo").name());
+ }
+
public void testControlBusStatus() throws Exception {
assertEquals("Stopped", context.getRouteStatus("foo").name());