intermediateAsync Programming with @Async
Why does an @Async method silently run synchronously when called from within the same class?
@Async, like @Transactional, only works through Spring's proxy — a self-invocation (calling from inside the same class) bypasses the proxy and the method just runs on the current thread with no error, which is easy to miss since nothing fails loudly.
This is a Pro chapter
Sign in, then upgrade to Pro or Power to unlock this and the full Spring Ecosystem Mastery library.
Why does an @Async method silently run synchronously when called from within the same class?