cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Freeman Fang <freeman.f...@iona.com>
Subject Re: svn commit: r479954 - in /incubator/cxf/trunk: rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ systests/src/test/java/org/apache/cxf/systest/jaxws/ systests/src/test/java/org/apache/cxf/systest/ws/rm/ testutils/src/main/java/org/apache/hello_worl...
Date Thu, 30 Nov 2006 01:48:48 GMT
Hi Andrea,

I will do it soon


Thanks very much

Freeman

Andrea Smyth wrote:

> Hi Freeman,
>
> Can you add a new operation greetMeSlow so that not every test that 
> uses greetMe incurs the 3 sec. delay?
> Also, there is no need to add a new test - the existing system tests 
> for asynchronicity should be fixed accordingly.
>
> Andrea.
>
> ffang@apache.org wrote:
>
>> Author: ffang
>> Date: Tue Nov 28 00:51:57 2006
>> New Revision: 479954
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=479954
>> Log:
>> get asyn invocation work
>>
>> Modified:
>>    
>> incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java
>>    
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java
>>    
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
>>    
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java
>>
>> Modified: 
>> incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java
>> URL: 
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java?view=diff&rev=479954&r1=479953&r2=479954
>> ==============================================================================
>> --- 
>> incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java

>> (original)
>> +++ 
>> incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java

>> Tue Nov 28 00:51:57 2006
>> @@ -27,6 +27,7 @@
>> import java.util.HashMap;
>> import java.util.List;
>> import java.util.Map;
>> +import java.util.concurrent.Executor;
>> import java.util.concurrent.FutureTask;
>> import java.util.logging.Logger;
>>
>> @@ -155,8 +156,12 @@
>>                                                                              
>> context
>>                                                                              
>> ));
>>
>> +        endpoint.getService().setExecutor(new Executor() {
>> +            public void execute(Runnable r) {
>> +                new Thread(r).start();
>> +            }
>> +        });
>>         endpoint.getService().getExecutor().execute(f);
>> -
>>         Response<?> r = new AsyncResponse<Object>(f, Object.class);
>>         if (params.length > 0 && params[params.length - 1] instanceof

>> AsyncHandler) {
>>             // callback style
>>
>> Modified: 
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java
>> URL: 
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java?view=diff&rev=479954&r1=479953&r2=479954
>> ==============================================================================
>> --- 
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java

>> (original)
>> +++ 
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java

>> Tue Nov 28 00:51:57 2006
>> @@ -62,6 +62,7 @@
>> import org.apache.hello_world_soap_http.SOAPService;
>> import org.apache.hello_world_soap_http.SOAPServiceDocLitBare;
>> import org.apache.hello_world_soap_http.types.BareDocumentResponse;
>> +import org.apache.hello_world_soap_http.types.GreetMeResponse;
>> import org.apache.hello_world_soap_http.types.GreetMeSometimeResponse;
>>
>> public class ClientServerTest extends ClientServerTestBase {
>> @@ -597,4 +598,47 @@
>>     public static void main(String[] args) {
>>         junit.textui.TestRunner.run(ClientServerTest.class);
>>     }
>> +    +    public void testAsync() {
>> +        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);
>> +        +        long before = System.currentTimeMillis();
>> +
>> +        Response<GreetMeResponse> r1 = greeter.greetMeAsync("one");
>> +        Response<GreetMeResponse> r2 = greeter.greetMeAsync("two");
>> +
>> +        long after = System.currentTimeMillis();
>> +
>> +        assertTrue("Duration of calls exceeded 6000 ms", after - 
>> before < 6000);
>> +
>> +        // first time round, responses should not be available yet
>> +        assertFalse("Response already available.", r1.isDone());
>> +        assertFalse("Response already available.", r2.isDone());
>> +
>> +        // after three seconds responses should be available
>> +        long waited = 0;
>> +        while (waited < 5000) {
>> +            try {
>> +                Thread.sleep(500);
>> +            } catch (InterruptedException ex) {
>> +               // ignore
>> +            }
>> +            if (r1.isDone() && r2.isDone()) {
>> +                break;
>> +            }
>> +            waited += 500;
>> +        }
>> +        assertTrue("Response is  not available.", r1.isDone());
>> +        assertTrue("Response is  not available.", r2.isDone());
>> +        +    } }
>>
>> Modified: 
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
>> URL: 
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java?view=diff&rev=479954&r1=479953&r2=479954
>> ==============================================================================
>> --- 
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java

>> (original)
>> +++ 
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java

>> Tue Nov 28 00:51:57 2006
>> @@ -552,7 +552,7 @@
>>       }
>>     -    public void testTwowayMessageLoss() throws Exception {
>> +    public void xtestTwowayMessageLoss() throws Exception {
>>         if (!doTestTwowayMessageLoss) {
>>             return;
>>         }
>>
>> Modified: 
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java
>> URL: 
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java?view=diff&rev=479954&r1=479953&r2=479954
>> ==============================================================================
>> --- 
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java

>> (original)
>> +++ 
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java

>> Tue Nov 28 00:51:57 2006
>> @@ -57,6 +57,12 @@
>>     }
>>
>>     public String greetMe(String me) {
>> +        try {
>> +            // to prove async invocation works
>> +            Thread.sleep(3000);
>> +        } catch (InterruptedException e) {
>> +            e.printStackTrace();
>> +        }
>>         LOG.info("Invoking greetMe " + me);
>>         invocationCount++;
>>         return "Hello " + me;
>>
>>
>>  
>>
>


-- 
Freeman Fang
Software Engineer

IONA Asia Pacific Software Development Center
No.2 Floor A Unit Information Center
Zhongguancun Software Park Haidian District,
Beijing, P.R.China

Tel.: +86-10-82825151 -  ex. 551
Fax: +86-10-8282-5210
freeman.fang@iona.com
-------------------------------------------------
Making Software Work Together TM




Mime
View raw message