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 2011/08/19 09:48:22 UTC

svn commit: r1159527 - in /camel/branches/camel-2.8.x: ./ components/camel-blueprint/src/main/java/org/apache/camel/blueprint/ components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/ tests/camel-itest-osgi/src/test/java/org/apache/ca...

Author: davsclaus
Date: Fri Aug 19 07:48:21 2011
New Revision: 1159527

URL: http://svn.apache.org/viewvc?rev=1159527&view=rev
Log:
Merged revisions 1159171 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk


Added:
    camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprintTcclTest.java
      - copied unchanged from r1159171, camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprintTcclTest.java
    camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/blueprint/blueprint-tccl.xml
      - copied unchanged from r1159171, camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/blueprint/blueprint-tccl.xml
Modified:
    camel/branches/camel-2.8.x/   (props changed)
    camel/branches/camel-2.8.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
    camel/branches/camel-2.8.x/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleDelegatingClassLoader.java

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Aug 19 07:48:21 2011
@@ -1 +1 @@
-/camel/trunk:1155230,1156108,1156260,1156524,1157348,1157798,1157831,1157878,1158153,1159174
+/camel/trunk:1155230,1156108,1156260,1156524,1157348,1157798,1157831,1157878,1158153,1159171,1159174

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.8.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java?rev=1159527&r1=1159526&r2=1159527&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java (original)
+++ camel/branches/camel-2.8.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java Fri Aug 19 07:48:21 2011
@@ -24,6 +24,7 @@ import org.apache.camel.core.osgi.OsgiFa
 import org.apache.camel.core.osgi.OsgiPackageScanClassResolver;
 import org.apache.camel.core.osgi.OsgiTypeConverter;
 import org.apache.camel.core.osgi.utils.BundleContextUtils;
+import org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.spi.FactoryFinder;
 import org.apache.camel.spi.Registry;
@@ -52,6 +53,7 @@ public class BlueprintCamelContext exten
         setComponentResolver(new BlueprintComponentResolver(bundleContext));
         setLanguageResolver(new BlueprintLanguageResolver(bundleContext));
         setDataFormatResolver(new BlueprintDataFormatResolver(bundleContext));
+        setApplicationContextClassLoader(new BundleDelegatingClassLoader(bundleContext.getBundle()));
     }
 
     public BundleContext getBundleContext() {
@@ -71,7 +73,14 @@ public class BlueprintCamelContext exten
     }
 
     public void init() throws Exception {
-        maybeStart();
+        final ClassLoader original = Thread.currentThread().getContextClassLoader();
+        try {
+            // let's set a more suitable TCCL while starting the context
+            Thread.currentThread().setContextClassLoader(getApplicationContextClassLoader());
+            maybeStart();
+        } finally {
+            Thread.currentThread().setContextClassLoader(original);
+        }
     }
 
     private void maybeStart() throws Exception {

Modified: camel/branches/camel-2.8.x/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleDelegatingClassLoader.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleDelegatingClassLoader.java?rev=1159527&r1=1159526&r2=1159527&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleDelegatingClassLoader.java (original)
+++ camel/branches/camel-2.8.x/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleDelegatingClassLoader.java Fri Aug 19 07:48:21 2011
@@ -87,4 +87,9 @@ public class BundleDelegatingClassLoader
     public Bundle getBundle() {
         return bundle;
     }
+
+    @Override
+    public String toString() {
+        return String.format("BundleDelegatingClassLoader(%s)", bundle);
+    }
 }