You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2013/09/09 17:58:04 UTC

svn commit: r1521167 - in /cxf/branches/2.7.x-fixes/rt/frontend: jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ jaxws/src/main/java/org/apache/cxf/jaxws/ simple/src/main/java/org/apache/cxf/frontend/

Author: dkulp
Date: Mon Sep  9 15:58:04 2013
New Revision: 1521167

URL: http://svn.apache.org/r1521167
Log:
Merged revisions 1521165 via  git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1521165 | dkulp | 2013-09-09 11:53:50 -0400 (Mon, 09 Sep 2013) | 2 lines

  Remove an now unneeded check in JaxWsProxyFactoryBean and move the service interface to the end to try and make the classloaders more reliable.

........

Modified:
    cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
    cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java
    cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java
    cxf/branches/2.7.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java

Modified: cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java?rev=1521167&r1=1521166&r2=1521167&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java (original)
+++ cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java Mon Sep  9 15:58:04 2013
@@ -337,7 +337,7 @@ public final class JAXRSClientFactory {
     static <T> T createProxy(Class<T> cls, ClassLoader loader, InvocationHandler handler) {
         
         return cls.cast(ProxyHelper.getProxy(loader == null ? cls.getClassLoader() : loader, 
-                                             new Class[]{cls, Client.class}, 
+                                             new Class[]{Client.class, cls}, 
                                              handler));
     }
     

Modified: cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java?rev=1521167&r1=1521166&r2=1521167&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java (original)
+++ cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactoryBean.java Mon Sep  9 15:58:04 2013
@@ -308,7 +308,7 @@ public class JAXRSClientFactoryBean exte
             initClient(proxyImpl, ep, actualState == null);    
             
             ClassLoader theLoader = proxyLoader == null ? cri.getServiceClass().getClassLoader() : proxyLoader;
-            Class<?>[] ifaces = new Class[]{cri.getServiceClass(), Client.class, InvocationHandlerAware.class};
+            Class<?>[] ifaces = new Class[]{Client.class, InvocationHandlerAware.class, cri.getServiceClass()};
             Client actualClient = (Client)ProxyHelper.getProxy(theLoader, ifaces, proxyImpl);
 
             notifyLifecycleManager(actualClient);

Modified: cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java?rev=1521167&r1=1521166&r2=1521167&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java (original)
+++ cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java Mon Sep  9 15:58:04 2013
@@ -119,21 +119,7 @@ public class JaxWsProxyFactoryBean exten
     @Override
     protected Class<?>[] getImplementingClasses() {
         Class<?> cls = getClientFactoryBean().getServiceClass();
-        Class<?> ret[] = new Class[] {cls, BindingProvider.class};
-        try {
-            cls.getMethod("close");
-        } catch (Exception e) {
-            //ignore - doesn't have a close method so we
-            //can implement Closeable
-            ret = new Class[] {cls, BindingProvider.class, Closeable.class};
-        }
-
-        try {
-            Proxy.getProxyClass(cls.getClassLoader(), ret);
-        } catch (Throwable t) {
-            ret = new Class[] {cls};
-        }
-        return ret;
+        return new Class[] {BindingProvider.class, Closeable.class, cls};
     }
     
     /**

Modified: cxf/branches/2.7.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java?rev=1521167&r1=1521166&r2=1521167&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java (original)
+++ cxf/branches/2.7.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java Mon Sep  9 15:58:04 2013
@@ -190,15 +190,7 @@ public class ClientProxyFactoryBean exte
 
     protected Class<?>[] getImplementingClasses() {
         Class<?> cls = clientFactoryBean.getServiceClass();
-        try {
-            if (cls.getMethod("close") != null) {
-                return new Class[] {cls};
-            }
-        } catch (Exception e) {
-            //ignore - doesn't have a close method so we
-            //can implement Closeable
-        }
-        return new Class[] {cls, Closeable.class};
+        return new Class[] {Closeable.class, cls};
     }
 
     protected ClientProxy clientClientProxy(Client c) {