Author: dkulp Date: Fri Mar 2 02:01:59 2012 New Revision: 1296030 URL: http://svn.apache.org/viewvc?rev=1296030&view=rev Log: 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.4.x-fixes/ (props changed) cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java cxf/branches/2.4.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java Propchange: cxf/branches/2.4.x-fixes/ ('svn:mergeinfo' removed) Propchange: cxf/branches/2.4.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java?rev=1296030&r1=1296029&r2=1296030&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java (original) +++ cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java Fri Mar 2 02:01:59 2012 @@ -394,7 +394,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.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java?rev=1296030&r1=1296029&r2=1296030&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java (original) +++ cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java Fri Mar 2 02:01:59 2012 @@ -258,7 +258,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.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java?rev=1296030&r1=1296029&r2=1296030&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java (original) +++ cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxwsClientCallback.java Fri Mar 2 02:01:59 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.4.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java?rev=1296030&r1=1296029&r2=1296030&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java (original) +++ cxf/branches/2.4.x-fixes/systests/jaxws/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java Fri Mar 2 02:01:59 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 {
