cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bozhong Lin (JIRA)" <j...@apache.org>
Subject [jira] Closed: (CXF-270) Asynchronous invocations not working
Date Wed, 06 Dec 2006 06:53:23 GMT
     [ http://issues.apache.org/jira/browse/CXF-270?page=all ]

Bozhong Lin closed CXF-270.
---------------------------

    Resolution: Fixed

> Asynchronous invocations not working
> ------------------------------------
>
>                 Key: CXF-270
>                 URL: http://issues.apache.org/jira/browse/CXF-270
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>            Reporter: Andrea Smyth
>         Assigned To: Freeman Fang
>
> With an implementor that sleeps 3 seconds in String greetMe(String name) I was expecting
the following system test to pass:
> public void testAsync() {
>        GreeterService service = new GreeterService();
>        Greeter greeter = service.getGreeterPort();
>              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());
>    }
> However the test fails as the second invocation is apparently only made after the first
one has returned a response, i.e. it fails with
> junit.framework.AssertionFailedError: Duration of calls exceeded 6000 ms.
> There are system tests in place, but these seem to not verify that at some point after
the initial (async) invocation, the response is NOT yet available - they only test that it
will eventually become available. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message