The current setup seems complex and might need reconsideration.
Spring MVC, Spring WebFlux, and Spring GraphQL all rely on a bean named
applicationTaskExecutor. For Spring MVC and Spring WebFlux (spring.threads.virtual.enabled=true), this bean must be of type AsyncTaskExecutor, whereas Spring GraphQL requires a bean of type Executor.
Spring WebSocket and JPA will use an AsyncTaskExecutor if either a single bean of this
type is available or if a bean named applicationTaskExecutor is defined.
I suggest revisiting the WebSocketMessageConverterConfiguration and
JpaRepositoriesAutoConfiguration configurations to align them with Spring MVC,
Spring WebFlux, and Spring GraphQL.
I am uncertain about GraphQL as it uses applicationTaskExecutor but with a different
type.
The current setup seems complex and might need reconsideration.
Spring MVC, Spring WebFlux, and Spring GraphQL all rely on a bean named
applicationTaskExecutor. For Spring MVC and Spring WebFlux (spring.threads.virtual.enabled=true), this bean must be of typeAsyncTaskExecutor, whereas Spring GraphQL requires a bean of typeExecutor.Spring WebSocket and JPA will use an
AsyncTaskExecutorif either a single bean of thistype is available or if a bean named
applicationTaskExecutoris defined.I suggest revisiting the
WebSocketMessageConverterConfigurationandJpaRepositoriesAutoConfigurationconfigurations to align them with Spring MVC,Spring WebFlux, and Spring GraphQL.
I am uncertain about GraphQL as it uses
applicationTaskExecutorbut with a differenttype.