You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I spent some time writing this example to fully reproduce the problem,
Changing CustomAsyncTaskExecutor configuration on the fly is for the scenarios mentioned in README.md, not for actual use.
The current tracking result is that when DispatcherServlet processes async request, if the task throws an exception before entering AsyncExecutor, the data status in asyncManager is not processed normally, causing the request to enter DispatcherServlet again.
The text was updated successfully, but these errors were encountered:
Generally with async processing, we exit all the way from the Servlet container thread, and when the async result (whether success or exception) is ready, perform an async dispatch to continue processing on a Servlet container thread. This is why there is a a second call to @ExceptionHandler. The first one happens because you start async processing on the same thread, and we should be skipping exception handling at that point, but are not. I'll set this for a fix.
Affects: <5.3.23>
I customized AsyncTaskExecutor to throw RejectedExecutionException when the queue is full, but I got twice the error message.
example
I spent some time writing this example to fully reproduce the problem,
Changing CustomAsyncTaskExecutor configuration on the fly is for the scenarios mentioned in README.md, not for actual use.
The current tracking result is that when DispatcherServlet processes async request, if the task throws an exception before entering AsyncExecutor, the data status in asyncManager is not processed normally, causing the request to enter DispatcherServlet again.
The text was updated successfully, but these errors were encountered: