Spent 25 minutes wondering why my Spring Boot async method was running synchronously. The code looked fine: @Async public void sendEmail(String to) { // sending logic } No errors. App started fine. But the method blocked the main thread every time. The problem: I forgot to add @EnableAsync to my main class. @SpringBootApplication @EnableAsync public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } One annotation. That was it. Spring Boot does not warn you if @Async methods exist but async is not enabled. It just runs them synchronously. What annotation have you forgotten that caused unexpected behavior? #Java #SpringBoot #Debugging #BackendDevelopment
@EnableMethodSecurity and was stuck, why my RBAC on methods not working
@EnableKafka 😅
@EnableAsync is easy to forget because the code runs without errors. It just does not run asynchronously. Now I always verify the feature annotation is enabled before debugging the logic.