You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2014/07/08 14:01:58 UTC

git commit: [CXF-5860] Using ProxyClassLoader to create ThreadLocalProxy based proxy

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 <sb...@talend.com>
Authored: Tue Jul 8 13:01:30 2014 +0100
Committer: Sergey Beryozkin <sb...@talend.com>
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>());
         }