[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/46f6462e Tree: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/tree/46f6462e Diff: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/diff/46f6462e Branch: refs/heads/master Commit: 46f6462efdbfa9beb56b1456337a4faee3d31005 Parents: a6a3c85 Author: Freeman Fang <[email protected]> Authored: Mon May 25 14:28:43 2015 +0800 Committer: Freeman Fang <[email protected]> Committed: Mon May 25 14:28:43 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/46f6462e/swagger-core_2.11-1.3.12/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala ---------------------------------------------------------------------- diff --git a/swagger-core_2.11-1.3.12/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala b/swagger-core_2.11-1.3.12/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala index 0924949..c029dc5 100644 --- a/swagger-core_2.11-1.3.12/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala +++ b/swagger-core_2.11-1.3.12/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
