On 29/10/2014 18:28, Rémy Maucherat wrote:
2014-10-29 19:22 GMT+01:00 Mark Thomas <markt@apache.org>:
OK. Try again :)

-1 veto.

This breaks a requirement of the Servlet 3.1 spec that an ISE should be
thrown if get[Request|Response]() is called after complete() is called.

This commit breaks the unit tests that check this (the calls do not
thrown any exception).

The commit did not include any test cases. What problem are you trying
to solve? And where in the spec does it mandate the behaviour you are
trying to achieve?
The problem I am trying to solve is that the listener onComplete should be
able to call getResponse and write things. Basically complete is not done
until onComplete is done.
OK. That makes sense.

My initial reading of the spec was that the ISE was required as soon as
complete() was called. After all, that is what the Javadoc says.

However... the Javadoc for complete() says:
If this method is called before the container-initiated dispatch that
called startAsync has returned to the container, then the call will not
take effect (and any invocations of AsyncListener.onComplete(AsyncEvent)
will be delayed) until after the container-initiated dispatch has
returned to the container.

It is certainly possible to read the Javadoc for complete() as meaning
that the ISE should not be thrown until after onComplete() finishes
although that isn't how I have been reading it.

I withdraw my veto (again) and I don't see the need for those

I'll take a look at the failing unit tests and see what I can do to get
them to pass.


To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 8 of 14 | next ›
Discussion Overview
groupdev @
postedOct 29, '14 at 5:29p
activeOct 29, '14 at 10:27p



site design / logo © 2018 Grokbase