-
Bug
-
Resolution: Done
-
Major
-
None
-
None
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/a8228d9dbe6191488186cf6d20078632c0f43115/impl/src/main/java/org/jboss/cdi/tck/tests/context/application/async/ApplicationContextAsyncListenerTest.java