jsr340-experts@servlet-spec.java.net

[jsr340-experts] Re: [servlet-spec users] SERVLET_SPEC-6: Undefined behaviour for AsyncContext#getRequest() and getResponse() after timeout

From: Shing Wai Chan <shing.wai.chan_at_oracle.com>
Date: Fri, 16 Dec 2011 16:19:08 -0800

In this case, should we throw IllegalStateException for
AsyncContext#getRequest() / getResponse()
if AsyncContext#complete or AsyncContext#dispatch are called.
This will solve the following timeout scenario, too.
Shing Wai Chan

On 8/31/11 5:12 AM, Mark Thomas wrote:
> On 31/08/2011 01:17, Shing Wai Chan wrote:
>> In http://java.net/jira/browse/SERVLET_SPEC-6, it would like to have a
>> clarification on the behavior of AsyncContext#getRequest() and
>> getResponse() after timeout.
>>
>> I think with the comment that one should throw IllegalStateException in
>> those circumstances.
>> I have a question.
>>
>> According to javadoc of AsyncContext, when there is async timeout, the
>> following may be invoked:
>> a. invoke AsyncListener#onTimeout
>> b. AsyncContext#complete, AsyncListener#onComplete
>> c. AsyncContext#dispatch
>>
>> In (a), (b) and (c) above, should we throw IllegalStateException?
> I think not. All of those are fine during the processing of a timeout.
> After the timeout, they should throw IllegalStateException.
>
> Mark