You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Bozhong Lin (JIRA)" <ji...@apache.org> on 2006/12/06 07:53:23 UTC
[jira] Closed: (CXF-270) Asynchronous invocations not working
[ 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