Author: cschneider
Date: Mon Jan 21 15:58:22 2013
New Revision: 1436432
URL: http://svn.apache.org/viewvc?rev=1436432&view=rev
Log:
CAMEL-5968 Set thread context classloader to bundle classloader for route
commands
Modified:
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
Modified:
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
URL:
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java?rev=1436432&r1=1436431&r2=1436432&view=diff
==============================================================================
---
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
(original)
+++
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
Mon Jan 21 15:58:22 2013
@@ -47,7 +47,15 @@ public abstract class AbstractRouteComma
}
for (Route camelRoute : camelRoutes) {
CamelContext camelContext =
camelRoute.getRouteContext().getCamelContext();
- executeOnRoute(camelContext, camelRoute);
+ // Setting thread context classloader to the bundle classloader to
enable
+ // legacy code that relies on it
+ ClassLoader oldClassloader =
Thread.currentThread().getContextClassLoader();
+
Thread.currentThread().setContextClassLoader(camelContext.getApplicationContextClassLoader());
+ try {
+ executeOnRoute(camelContext, camelRoute);
+ } finally {
+ Thread.currentThread().setContextClassLoader(oldClassloader);
+ }
}
return null;