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