Currently we log this in WebAsyncManager
and similar warning exists in ReactiveTypeHandler
too:
!!!
An Executor is required to handle java.util.concurrent.Callable return values.
Please, configure a TaskExecutor in the MVC config under "async support".
The SimpleAsyncTaskExecutor currently in use is not suitable under load.
-------------------------------
Request URI: '/'
!!!
This should not be logged if using virtual threads.
Comment From: wilkinsona
Can a SimpleAsyncTaskExecutor
with virtual threads enabled also be taken into account? It's what Boot auto-configures when virtual threads are enabled.
Comment From: quaff
This should not be logged if the executor is
VirtualThreadTaskExecutor
.
VirtualThreadTaskExecutor
is AsyncTaskExecutor
, neither SimpleAsyncTaskExecutor
nor SyncTaskExecutor
.
https://github.com/spring-projects/spring-framework/blob/0d8a8432d18af8d2a5fcb29f9de40e4cbf0f9016/spring-core/src/main/java/org/springframework/core/task/VirtualThreadTaskExecutor.java#L32
https://github.com/spring-projects/spring-framework/blob/0d8a8432d18af8d2a5fcb29f9de40e4cbf0f9016/spring-web/src/main/java/org/springframework/web/context/request/async/WebAsyncManager.java#L365
Comment From: rstoyanchev
Indeed, VirtualThreadTaskExecutor
is not relevant here, and we're checking for SimpleAsyncTaskExecutor
. There is similar check and warning in ReactiveTypeHandler
too. I've updated the title and description to reflect that.