Repository: cxf Updated Branches: refs/heads/master 9a258338b -> 6cd3843cf
[CXF-5860] Using ProxyClassLoader to create ThreadLocalProxy based proxy Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/6cd3843c Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/6cd3843c Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/6cd3843c Branch: refs/heads/master Commit: 6cd3843cfe9f8cfcbb03c2ec07d9c9f0f1bc07f2 Parents: 9a25833 Author: Sergey Beryozkin <[email protected]> Authored: Tue Jul 8 13:01:30 2014 +0100 Committer: Sergey Beryozkin <[email protected]> Committed: Tue Jul 8 13:01:30 2014 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/6cd3843c/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java index 568f596..8043da9 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java @@ -69,6 +69,7 @@ import org.apache.cxf.common.i18n.BundleUtils; import org.apache.cxf.common.logging.LogUtils; import org.apache.cxf.common.util.ClassHelper; import org.apache.cxf.common.util.PrimitiveUtils; +import org.apache.cxf.common.util.ProxyClassLoader; import org.apache.cxf.common.util.StringUtils; import org.apache.cxf.helpers.CastUtils; import org.apache.cxf.jaxrs.ext.MessageContext; @@ -972,7 +973,10 @@ public final class InjectionUtils { proxy = createThreadLocalServletApiContext(type.getName()); } if (proxy == null) { - return (ThreadLocalProxy<T>)Proxy.newProxyInstance(type.getClassLoader(), + ProxyClassLoader loader = new ProxyClassLoader(Proxy.class.getClassLoader()); + loader.addLoader(type.getClassLoader()); + loader.addLoader(ThreadLocalProxy.class.getClassLoader()); + return (ThreadLocalProxy<T>)Proxy.newProxyInstance(loader, new Class[] {type, ThreadLocalProxy.class }, new ThreadLocalInvocationHandler<T>()); }
