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;


Reply via email to