cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Opalka <ropa...@redhat.com>
Subject Re: CXF Continuations Not Portable Issue
Date Mon, 26 Nov 2012 12:29:29 GMT
Hi Sergey,


On 11/26/2012 01:21 PM, Sergey Beryozkin wrote:
> Hi Richard
> On 26/11/12 12:15, Richard Opalka wrote:
>> Dear CXF developers,
>>
>>     I'm analyzing our recent CXF continuation related failures in CI
>> and I identified the following problem:
>>
>> SVN commit id: 1409193
>>
>> introduced
>>
>> ---
>> @@ -57,32 +57,30 @@ public class Servlet3ContinuationProvider implements
>> ContinuationProvider {
>>
>>           if (continuation == null) {
>>               continuation = new Servlet3Continuation();
>> +        } else {
>> +            continuation.startAsyncAgain();
>>           }
>>           return continuation;
>>       }
>> ---
>>
>> method call that causes our JBossWeb to throw IllegalStateException.
>> According to startAsync() javadoc for Throws:
>>
>> http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#startAsync%28%29
>>
>>
>> ---
>> Throws:
>>      IllegalStateException - if this request is within the scope of a
>> filter or servlet that does not support asynchronous operations (that
>> is, isAsyncSupported() returns false), or if this method is called again
>> without any asynchronous dispatch (resulting from one of the
>> AsyncContext#dispatch methods), is called outside the scope of any such
>> dispatch, or is called again within the scope of the same dispatch, or
>> if the response has already been closed
>> ---
>>
>> JBossWeb is strictly following these ISE guidelines (is not lenient
>> like e.g. Jakarta Tomcat).
> 
> What would you say about
> "Subsequent invocations of this method, or its overloaded variant, will
> return the same AsyncContext instance, reinitialized as appropriate. " ?
> 
> Without this call I can not have the test doing multiple timeouts on the
> same continuation working...

Makes sense to me. I had a look to our JBoss Web code again and I
noticed one suspicious line there - I'm going to discuss it with our folks.

> 
>>
>> The last issue that I identified with Servlet3ContinuationProvider is
>> the isNew flag has incorrect initial value - it should be *true*.
> Sure - needs to be fixed

Thanks

> 
> Thanks, Sergey
> 
>>
>> Cheers,
>>
>> Rio
>>
> 


-- 
Richard Opalka
Principal Software Engineer
JBoss, by Red Hat
Cell: +420 731 186 942

Mime
View raw message