[SM-2558]use TCCL as fallback classloader for the SwaggerContext
Project: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/repo Commit: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/commit/ffd700ec Tree: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/tree/ffd700ec Diff: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/diff/ffd700ec Branch: refs/heads/master Commit: ffd700ec5b042ea176b61bdfa748c836430a1a4a Parents: b73b3f3 Author: Freeman Fang <[email protected]> Authored: Mon May 25 14:27:20 2015 +0800 Committer: Freeman Fang <[email protected]> Committed: Mon May 25 14:27:20 2015 +0800 ---------------------------------------------------------------------- .../main/scala/com/wordnik/swagger/core/SwaggerContext.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/servicemix-bundles/blob/ffd700ec/swagger-core-1.3.10/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala ---------------------------------------------------------------------- diff --git a/swagger-core-1.3.10/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala b/swagger-core-1.3.10/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala index 0924949..c029dc5 100644 --- a/swagger-core-1.3.10/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala +++ b/swagger-core-1.3.10/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala @@ -12,7 +12,10 @@ object SwaggerContext { registerClassLoader(this.getClass.getClassLoader) registerClassLoader(Thread.currentThread().getContextClassLoader()) - def registerClassLoader(cl: ClassLoader) = this.classLoaders += cl + def registerClassLoader(cl: ClassLoader) = { + this.classLoaders += cl + LOGGER.debug("======>register classloader " + cl); + } def loadClass(name: String) = { var cls: Class[_] = null @@ -26,6 +29,9 @@ object SwaggerContext { } } } + //use TCCL as fallback + registerClassLoader(Thread.currentThread().getContextClassLoader()) + cls = Class.forName(name.trim, true, Thread.currentThread().getContextClassLoader()) if (cls == null) throw new ClassNotFoundException("class " + name + " not found") cls
