Author: ffang
Date: Tue Sep 25 03:31:30 2012
New Revision: 1389699

URL: http://svn.apache.org/viewvc?rev=1389699&view=rev
Log:
[CAMEL-5640]Camel Karaf Commands - Add timeout option to stop route command

Modified:
    
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java

Modified: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java?rev=1389699&r1=1389698&r2=1389699&view=diff
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java
 (original)
+++ 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java
 Tue Sep 25 03:31:30 2012
@@ -17,12 +17,14 @@
 package org.apache.camel.karaf.commands;
 
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
 import org.apache.camel.karaf.commands.internal.RegexUtil;
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
+import org.apache.felix.gogo.commands.Option;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
 
 /**
@@ -36,6 +38,10 @@ public class RouteStop extends OsgiComma
 
     @Argument(index = 1, name = "context", description = "The Camel context 
name.", required = false, multiValued = false)
     String context;
+    
+    @Option(name = "-t", valueToShowInHelp = "", description = "Specifies the 
timeout in seconds which is used to stop a route.", required = false, 
multiValued = false)
+    int timeout = -1;
+
 
     private CamelController camelController;
 
@@ -51,7 +57,11 @@ public class RouteStop extends OsgiComma
         }
         for (Route camelRoute : camelRoutes) {
             CamelContext camelContext = 
camelRoute.getRouteContext().getCamelContext();
-            camelContext.stopRoute(camelRoute.getId());
+            if (timeout > 0) {
+                camelContext.stopRoute(camelRoute.getId(), timeout, 
TimeUnit.SECONDS);
+            } else {
+                camelContext.stopRoute(camelRoute.getId());
+            }
         }
 
         return null;


Reply via email to