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 2012/03/02 16:58:49 UTC

svn commit: r1296265 - in /cxf/branches/2.3.x-fixes: ./ rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/

Author: dkulp
Date: Fri Mar  2 15:58:49 2012
New Revision: 1296265

URL: http://svn.apache.org/viewvc?rev=1296265&view=rev
Log:
Merged revisions 1296030 via  svn merge from
https://svn.us.apache.org/repos/asf/cxf/branches/2.4.x-fixes

........
  r1296030 | dkulp | 2012-03-01 21:01:59 -0500 (Thu, 01 Mar 2012) | 17 lines
  
  Merged revisions 1292373 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
  
  ................
    r1292373 | dkulp | 2012-02-22 11:14:52 -0500 (Wed, 22 Feb 2012) | 9 lines
    
    Merged revisions 1292368 via  git cherry-pick from
    https://svn.apache.org/repos/asf/cxf/trunk
    
    ........
      r1292368 | dkulp | 2012-02-22 11:12:08 -0500 (Wed, 22 Feb 2012) | 2 lines
    
      [CXF-4129] Restore compatibility with in-jdk jaxb
    
    ........
  ................
  
........

Modified:
    cxf/branches/2.3.x-fixes/   (props changed)
    cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
    cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
    cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java
    cxf/branches/2.3.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java

Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java?rev=1296265&r1=1296264&r2=1296265&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java (original)
+++ cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java Fri Mar  2 15:58:49 2012
@@ -359,7 +359,7 @@ public class DispatchImpl<T> implements 
         checkError();
         client.setExecutor(getClient().getEndpoint().getExecutor());
 
-        ClientCallback callback = new JaxwsClientCallback<T>(asyncHandler);
+        ClientCallback callback = new JaxwsClientCallback<T>(asyncHandler, this);
              
         Response<T> ret = new JaxwsResponseCallback<T>(callback);
         try {

Modified: cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java?rev=1296265&r1=1296264&r2=1296265&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java (original)
+++ cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java Fri Mar  2 15:58:49 2012
@@ -248,7 +248,7 @@ public class JaxWsClientProxy extends or
         } else {
             handler = null;
         }
-        ClientCallback callback = new JaxwsClientCallback(handler);
+        ClientCallback callback = new JaxwsClientCallback(handler, this);
              
         Response<Object> ret = new JaxwsResponseCallback(callback);
         client.invoke(callback, oi, params);

Modified: cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java?rev=1296265&r1=1296264&r2=1296265&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java (original)
+++ cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java Fri Mar  2 15:58:49 2012
@@ -31,9 +31,11 @@ import org.apache.cxf.endpoint.ClientCal
 
 class JaxwsClientCallback<T> extends ClientCallback {
     final AsyncHandler<T> handler;
+    final Object proxy;
     
-    public JaxwsClientCallback(final AsyncHandler<T> handler) {
+    public JaxwsClientCallback(final AsyncHandler<T> handler, Object p) {
         this.handler = handler;
+        this.proxy = p;
     }
     public void handleResponse(Map<String, Object> ctx, Object[] res) {
         context = ctx;

Modified: cxf/branches/2.3.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java?rev=1296265&r1=1296264&r2=1296265&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java (original)
+++ cxf/branches/2.3.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java Fri Mar  2 15:58:49 2012
@@ -383,6 +383,29 @@ public class ClientServerTest extends Ab
             throw (Exception)ex.getCause();
         }
     } 
+    
+    @Test
+    public void testAsyncDiscardProxy() throws Exception {
+        URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
+        assertNotNull(wsdl);
+        
+        SOAPService service = new SOAPService(wsdl, serviceName);
+        
+        assertNotNull(service);
+        
+        Greeter greeter = service.getPort(portName, Greeter.class);
+        
+        assertNotNull(service);
+        updateAddressPort(greeter, PORT);
+
+        Response<GreetMeLaterResponse> r1 = greeter.greetMeLaterAsync(3000);
+        greeter = null;
+        service = null;
+        System.gc();
+        System.gc();
+        System.gc();
+        assertEquals("Hello, finally!", r1.get().getResponseType());
+    }
 
     @Test
     public void testAsyncPollingCall() throws Exception {