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 2014/12/10 18:07:04 UTC
[2/4] camel git commit: CAMEL-8044: Camel commands should be more
reusable for remote JVMs
CAMEL-8044: Camel commands should be more reusable for remote JVMs
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d86c5c42
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d86c5c42
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d86c5c42
Branch: refs/heads/master
Commit: d86c5c4273d2c6a7419f575fe1153966f1153bd0
Parents: 25fa34d
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 10 18:02:52 2014 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 10 18:02:52 2014 +0100
----------------------------------------------------------------------
.../camel/commands/AbstractCamelController.java | 44 ++++++++++++++++++++
.../camel/commands/AbstractRouteCommand.java | 4 +-
.../apache/camel/commands/CamelController.java | 32 ++++++++++++++
.../apache/camel/commands/RouteInfoCommand.java | 9 ++--
.../camel/commands/RouteProfileCommand.java | 11 +++--
.../camel/commands/RouteResumeCommand.java | 4 +-
.../apache/camel/commands/RouteShowCommand.java | 6 +--
.../camel/commands/RouteStartCommand.java | 6 +--
.../apache/camel/commands/RouteStopCommand.java | 6 +--
.../camel/commands/RouteSuspendCommand.java | 6 +--
10 files changed, 97 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java
index 96868e5..c6ae955 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java
@@ -134,6 +134,50 @@ public abstract class AbstractCamelController implements CamelController {
}
}
+ public void startRoute(String camelContextName, String routeId) {
+ CamelContext context = getCamelContext(camelContextName);
+ if (context != null) {
+ try {
+ context.startRoute(routeId);
+ } catch (Exception e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ }
+ }
+ }
+
+ public void stopRoute(String camelContextName, String routeId) {
+ CamelContext context = getCamelContext(camelContextName);
+ if (context != null) {
+ try {
+ context.stopRoute(routeId);
+ } catch (Exception e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ }
+ }
+ }
+
+ public void suspendRoute(String camelContextName, String routeId) {
+ CamelContext context = getCamelContext(camelContextName);
+ if (context != null) {
+ try {
+ context.suspendRoute(routeId);
+ } catch (Exception e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ }
+ }
+ }
+
+ public void resumeRoute(String camelContextName, String routeId) {
+ CamelContext context = getCamelContext(camelContextName);
+ if (context != null) {
+ try {
+ context.resumeRoute(routeId);
+ } catch (Exception e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ }
+ }
+ }
+
@SuppressWarnings("deprecation")
public String getRouteModelAsXml(String routeId, String camelContextName) {
CamelContext context = this.getCamelContext(camelContextName);
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractRouteCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractRouteCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractRouteCommand.java
index fc1c83f..81fd2a6 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractRouteCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractRouteCommand.java
@@ -59,7 +59,7 @@ public abstract class AbstractRouteCommand extends AbstractCamelCommand {
ClassLoader oldClassloader = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(camelContext.getApplicationContextClassLoader());
try {
- executeOnRoute(camelController, camelContext, camelRoute.getId(), out, err);
+ executeOnRoute(camelController, camelContext.getName(), camelRoute.getId(), out, err);
} finally {
Thread.currentThread().setContextClassLoader(oldClassloader);
}
@@ -68,7 +68,7 @@ public abstract class AbstractRouteCommand extends AbstractCamelCommand {
return null;
}
- public abstract void executeOnRoute(CamelController camelController, CamelContext camelContext, String routeId, PrintStream out, PrintStream err) throws Exception;
+ public abstract void executeOnRoute(CamelController camelController, String contextName, String routeId, PrintStream out, PrintStream err) throws Exception;
/**
* To sort the routes.
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java
index 881361d..8eca54e 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java
@@ -70,6 +70,38 @@ public interface CamelController {
void resetRouteStats(String camelContextName);
/**
+ * Starts the given route
+ *
+ * @param camelContextName the Camel context.
+ * @param routeId the route ID.
+ */
+ void startRoute(String camelContextName, String routeId);
+
+ /**
+ * Stops the given route
+ *
+ * @param camelContextName the Camel context.
+ * @param routeId the route ID.
+ */
+ void stopRoute(String camelContextName, String routeId);
+
+ /**
+ * Suspends the given route
+ *
+ * @param camelContextName the Camel context.
+ * @param routeId the route ID.
+ */
+ void suspendRoute(String camelContextName, String routeId);
+
+ /**
+ * Resumes the given route
+ *
+ * @param camelContextName the Camel context.
+ * @param routeId the route ID.
+ */
+ void resumeRoute(String camelContextName, String routeId);
+
+ /**
* Return the definition of a route as XML identified by a ID and a Camel context.
*
* @param routeId the route ID.
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteInfoCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteInfoCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteInfoCommand.java
index 982740d..e02a9fa 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteInfoCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteInfoCommand.java
@@ -23,7 +23,6 @@ import java.util.Date;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
-import org.apache.camel.CamelContext;
import org.apache.camel.util.RouteStatDump;
/**
@@ -47,13 +46,13 @@ public class RouteInfoCommand extends AbstractRouteCommand {
}
@Override
- public void executeOnRoute(CamelController camelController, CamelContext camelContext, String routeId, PrintStream out, PrintStream err) throws Exception {
+ public void executeOnRoute(CamelController camelController, String contextName, String routeId, PrintStream out, PrintStream err) throws Exception {
out.println(stringEscape.unescapeJava("\u001B[1m\u001B[33mCamel Route " + routeId + "\u001B[0m"));
- out.println(stringEscape.unescapeJava("\tCamel Context: " + camelContext.getName()));
+ out.println(stringEscape.unescapeJava("\tCamel Context: " + contextName));
out.println("");
out.println(stringEscape.unescapeJava("\u001B[1mStatistics\u001B[0m"));
- String xml = camelController.getRouteStatsAsXml(routeId, camelContext.getName(), true, false);
+ String xml = camelController.getRouteStatsAsXml(routeId, contextName, true, false);
if (xml != null) {
JAXBContext context = JAXBContext.newInstance(RouteStatDump.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
@@ -102,7 +101,7 @@ public class RouteInfoCommand extends AbstractRouteCommand {
}
out.println("");
- xml = camelController.getRouteModelAsXml(routeId, camelContext.getName());
+ xml = camelController.getRouteModelAsXml(routeId, contextName);
if (xml != null) {
out.println(stringEscape.unescapeJava("\u001B[1mDefinition\u001B[0m"));
out.println(stringEscape.unescapeJava(xml));
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteProfileCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteProfileCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteProfileCommand.java
index f17fab5..e0f0eb1 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteProfileCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteProfileCommand.java
@@ -21,7 +21,6 @@ import java.io.StringReader;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
-import org.apache.camel.CamelContext;
import org.apache.camel.util.ProcessorStatDump;
import org.apache.camel.util.RouteStatDump;
@@ -48,20 +47,20 @@ public class RouteProfileCommand extends AbstractRouteCommand {
}
@Override
- public void executeOnRoute(CamelController camelController, CamelContext camelContext, String routeId, PrintStream out, PrintStream err) throws Exception {
+ public void executeOnRoute(CamelController camelController, String contextName, String routeId, PrintStream out, PrintStream err) throws Exception {
JAXBContext context = JAXBContext.newInstance(RouteStatDump.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
// write new header for new camel context
- if (previousCamelContextName == null || !previousCamelContextName.equals(camelContext.getName())) {
+ if (previousCamelContextName == null || !previousCamelContextName.equals(contextName)) {
System.out.println("");
System.out.println(stringEscape.unescapeJava("\u001B[1mProfile\u001B[0m"));
- System.out.println(stringEscape.unescapeJava("\tCamel Context: " + camelContext.getName()));
+ System.out.println(stringEscape.unescapeJava("\tCamel Context: " + contextName));
System.out.println(String.format(HEADER_FORMAT, "Id", "Count", "Last (ms)", "Delta (ms)", "Mean (ms)", "Min (ms)", "Max (ms)", "Total (ms)", "Self (ms)"));
}
- String xml = camelController.getRouteStatsAsXml(routeId, camelContext.getName(), true, true);
+ String xml = camelController.getRouteStatsAsXml(routeId, contextName, true, true);
RouteStatDump route = (RouteStatDump) unmarshaller.unmarshal(new StringReader(xml));
long count = route.getExchangesCompleted() + route.getExchangesFailed();
@@ -78,6 +77,6 @@ public class RouteProfileCommand extends AbstractRouteCommand {
}
// we want to group routes from the same context in the same table
- previousCamelContextName = camelContext.getName();
+ previousCamelContextName = contextName;
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteResumeCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteResumeCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteResumeCommand.java
index 6876e81..fef119a 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteResumeCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteResumeCommand.java
@@ -31,7 +31,7 @@ public class RouteResumeCommand extends AbstractRouteCommand {
}
@Override
- public void executeOnRoute(CamelController camelController, CamelContext camelContext, String routeId, PrintStream out, PrintStream err) throws Exception {
- camelContext.resumeRoute(routeId);
+ public void executeOnRoute(CamelController camelController, String contextName, String routeId, PrintStream out, PrintStream err) throws Exception {
+ camelController.resumeRoute(contextName, routeId);
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteShowCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteShowCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteShowCommand.java
index 9379eb2..9fea7e5 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteShowCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteShowCommand.java
@@ -18,8 +18,6 @@ package org.apache.camel.commands;
import java.io.PrintStream;
-import org.apache.camel.CamelContext;
-
/**
* Command to show the route marshaled in XML.
*/
@@ -30,8 +28,8 @@ public class RouteShowCommand extends AbstractRouteCommand {
}
@Override
- public void executeOnRoute(CamelController camelController, CamelContext camelContext, String routeId, PrintStream out, PrintStream err) throws Exception {
- String xml = camelController.getRouteModelAsXml(routeId, camelContext.getName());
+ public void executeOnRoute(CamelController camelController, String contextName, String routeId, PrintStream out, PrintStream err) throws Exception {
+ String xml = camelController.getRouteModelAsXml(routeId, contextName);
if (xml == null) {
err.println("Definition of route " + routeId + " not found.");
}
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStartCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStartCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStartCommand.java
index b60fb5e..3b8e230 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStartCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStartCommand.java
@@ -18,8 +18,6 @@ package org.apache.camel.commands;
import java.io.PrintStream;
-import org.apache.camel.CamelContext;
-
/**
* Command to start a route.
*/
@@ -30,7 +28,7 @@ public class RouteStartCommand extends AbstractRouteCommand {
}
@Override
- public void executeOnRoute(CamelController camelController, CamelContext camelContext, String routeId, PrintStream out, PrintStream err) throws Exception {
- camelContext.startRoute(routeId);
+ public void executeOnRoute(CamelController camelController, String contextName, String routeId, PrintStream out, PrintStream err) throws Exception {
+ camelController.startRoute(contextName, routeId);
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStopCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStopCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStopCommand.java
index 7412940..b3239e5 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStopCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteStopCommand.java
@@ -18,8 +18,6 @@ package org.apache.camel.commands;
import java.io.PrintStream;
-import org.apache.camel.CamelContext;
-
/**
* Command to stop a route.
*/
@@ -30,7 +28,7 @@ public class RouteStopCommand extends AbstractRouteCommand {
}
@Override
- public void executeOnRoute(CamelController camelController, CamelContext camelContext, String routeId, PrintStream out, PrintStream err) throws Exception {
- camelContext.stopRoute(routeId);
+ public void executeOnRoute(CamelController camelController, String contextName, String routeId, PrintStream out, PrintStream err) throws Exception {
+ camelController.stopRoute(contextName, routeId);
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/d86c5c42/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteSuspendCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteSuspendCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteSuspendCommand.java
index 1f91c07..9632510 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteSuspendCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RouteSuspendCommand.java
@@ -18,8 +18,6 @@ package org.apache.camel.commands;
import java.io.PrintStream;
-import org.apache.camel.CamelContext;
-
/**
* Command to suspend a route.
*/
@@ -30,7 +28,7 @@ public class RouteSuspendCommand extends AbstractRouteCommand {
}
@Override
- public void executeOnRoute(CamelController camelController, CamelContext camelContext, String routeId, PrintStream out, PrintStream err) throws Exception {
- camelContext.suspendRoute(routeId);
+ public void executeOnRoute(CamelController camelController, String contextName, String routeId, PrintStream out, PrintStream err) throws Exception {
+ camelController.suspendRoute(contextName, routeId);
}
}