AsyncContext.complete and AsyncContext.dispatch have no effect while
invoking AsyncListener.onError(AsyncEvent)
---------------------------------------------------------------------------------------------------------------
Key: WFLY-846
URL:
https://issues.jboss.org/browse/WFLY-846
Project: WildFly
Issue Type: Bug
Components: Web (Undertow)
Reporter: Martin Kouba
Assignee: Remy Maucherat
Priority: Major
Fix For: JBoss AS7 7.2.0.Final
The Servlet 3.0 spec "2.3.3.3 Asynchronous processing" states:
"Any errors or exceptions that may occur during the execution of the dispatch
methods MUST be caught and handled by the container as follows:
...
ii. If none of the listeners called AsyncContext.complete or any of the
AsyncContext.dispatch methods, then perform an error dispatch with a status code equal to
HttpServletResponse.SC_INTERNAL_SERVER_ERROR and make the Throwable available as the value
of the RequestDispatcher.ERROR_EXCEPTION request attribute.
...
"
However calling complete() or dispatch() method has no effect and container always
returns SC_INTERNAL_SERVER_ERROR.
See CDI TCK 1.1 test:
https://github.com/jboss/cdi-tck/blob/a8228d9dbe6191488186cf6d20078632c0f...