Every @Async behaviour that surprises people, asserted by a test and captured to docs/output/: the self-invocation trap, what CGLIB cannot override, the IllegalArgumentException a plain return type throws, the unbounded queue that makes max-size decoration, spring.task.execution.propagate-context (new in Boot 4.1.0), the two Executor beans that leave @Async on an unpooled SimpleAsyncTaskExecutor, and JEP 491 measured on JDK 21 against JDK 25.
8 lines
280 B
Plaintext
8 lines
280 B
Plaintext
== Which thread each call actually ran on (Boot 4.1.1, JDK 25) ==
|
|
|
|
caller thread : main (virtual=false)
|
|
service.annotated() : task-7 (virtual=false)
|
|
service.viaSelfInvocation() : main (virtual=false)
|
|
service.viaSelfReference() : task-8 (virtual=false)
|
|
|