intermediateSpring Boot Core

Why can @Async fail to execute asynchronously, and how do you fix it?

@Async relies on an AOP proxy — calling the method from within the same class (self-invocation) bypasses the proxy and runs synchronously on the calling thread. Fix by calling it through an injected reference to the bean (from a different class) instead of `this`.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to Your Spring Boot application takes 60+ seconds to start — how do you optimize it?← Back to all Spring Boot & Microservices questions