Repository: camel Updated Branches: refs/heads/master d62717e51 -> baf84ebff
CAMEL-7759 Using the TCCL as the default value of ApplicationContextClassLoader in DefaultCamelContext Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/64f04205 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/64f04205 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/64f04205 Branch: refs/heads/master Commit: 64f042054ac003d0a7a5bde6cb9fe90690f30f9d Parents: d62717e Author: Willem Jiang <willem.ji...@gmail.com> Authored: Thu Aug 28 20:11:48 2014 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Thu Aug 28 20:42:41 2014 +0800 ---------------------------------------------------------------------- .../java/org/apache/camel/impl/DefaultCamelContext.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/64f04205/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java index 666ee4a..2c36dc5 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java @@ -36,6 +36,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; + import javax.naming.Context; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; @@ -1782,8 +1783,13 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon private void doStartCamel() throws Exception { if (applicationContextClassLoader == null) { - // use the classloader that loaded this class - setApplicationContextClassLoader(this.getClass().getClassLoader()); + // Using the TCCL as the default value of ApplicationClassLoader + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + if (cl == null) { + // use the classloader that loaded this class + cl = this.getClass().getClassLoader(); + } + setApplicationContextClassLoader(cl); } if (log.isDebugEnabled()) {