Repository: camel Updated Branches: refs/heads/master 2cff2f15f -> 546a8ad67
CAMEL-7728 Setup the TCCL before create the instance from the BaseResolver Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/546a8ad6 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/546a8ad6 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/546a8ad6 Branch: refs/heads/master Commit: 546a8ad67fc6060bd6e7d338b992a62bf5663d9a Parents: 42473e5 Author: Willem Jiang <willem.ji...@gmail.com> Authored: Thu Aug 21 14:16:14 2014 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Thu Aug 21 14:16:41 2014 +0800 ---------------------------------------------------------------------- .../main/java/org/apache/camel/impl/osgi/Activator.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/546a8ad6/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java b/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java index 7ef56f5..9502a1d 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java +++ b/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java @@ -387,7 +387,17 @@ public class Activator implements BundleActivator, BundleTrackerCustomizer { } URL url = bundle.getEntry(path); LOG.trace("The entry {}'s url is {}", name, url); - return createInstance(name, url, context.getInjector()); + //Setup the TCCL with Camel context application class loader + ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); + try { + ClassLoader newClassLoader = context.getApplicationContextClassLoader(); + if (newClassLoader != null) { + Thread.currentThread().setContextClassLoader(newClassLoader); + } + return createInstance(name, url, context.getInjector()); + } finally { + Thread.currentThread().setContextClassLoader(oldClassLoader); + } } @SuppressWarnings("unchecked")