Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Jetty 9.0.4 issue (also in 9.0.5-SNAPSHOT) with Spring MVC Async (test provided)

Rossen,

On Mon, Aug 12, 2013 at 4:20 PM, Rossen Stoyanchev
<rstoyanchev@xxxxxxxxxxxxx> wrote:
> Hi Simone,
>
> Thanks for responding..
>
> On Mon, Aug 12, 2013 at 4:49 AM, Simone Bordet <sbordet@xxxxxxxxxxx> wrote:
>>
>> I just checked the Servlet specification, and Jetty's behavior is correct.
>> While this is explicit in Servlet 3.1, I would recommend that Spring
>> does not rely on isAsyncStarted() because otherwise it will be broken
>> in any Servlet 3.1 compliant container.
>>
>> From the specification (section 2.3.3.3, page 2-13):
>> "public boolean isAsyncStarted() - Returns true if async processing has
>> started on this request, and false otherwise. If this request has been
>> dispatched using one of the AsyncContext.dispatch methods since it was put
>> in asynchronous mode, or a call to AsynContext.complete is made, this
>> method returns false."
>
> True, however, the same section on page 2-16 adds:
>
> "If any of the dispatch methods are called before the
> container-initiated dispatch
> that called startAsync has returned to the container, then the call
> will not take
> effect until after the container-initiated dispatch has returned to
> the container."
>
> So 2-13 says "has been dispatched" but the 2-16 adds the dispatch has
> no effect until the current container thread has returned.
>
> FWIW from the original report, the issue does not appear in Jetty 8
> and I would have raised it if it did based my own testing since I
> reported the same issue in Tomcat 7 where it was subsequently fixed
> [1] .. https://issues.apache.org/bugzilla/show_bug.cgi?id=53843.

All right, thanks again for figuring this out.

Can you please raise a bugzilla at
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Jetty ?

Thanks !

-- 
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.


Back to the top