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.
7 lines
314 B
Plaintext
7 lines
314 B
Plaintext
== core-size=4, max-size=12, queue-capacity=4, 16 blocking tasks ==
|
|
|
|
distinct threads that ran a task : 12
|
|
thread names : [task-6, task-7, task-11, task-12, task-10, task-8, task-9, task-1, task-2, task-3, task-4, task-5]
|
|
4 core threads, 4 tasks queued, 8 more threads created up to max-size.
|
|
|