You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cs...@apache.org on 2013/01/21 16:58:23 UTC
svn commit: r1436432 -
/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
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;