Astuce Spring Boot : Libérez votre thread principal avec @Async
Vous bloquez encore votre application avec des opérations lourdes ? Il est temps de passer à l'asynchrone.
Pourquoi c'est crucial
Chaque seconde compte dans une API. Avec @Async, vos utilisateurs n'attendent plus que l'email soit envoyé pour voir leur commande confirmée.
Développeur Java chez Société Générale African Business Services | Master en informatique
16 days ago
Merci pour l'astuce. Mais, j'aurais procédé autrement. Je mettrai la sauvegarde de la commande hors traitement asynchrone pour garantir effectivement que la commande a été bien enregistrée de telle sorte la réponse au client ne soit pas biaisée. En le gardant dans la méthode asynchrone,si une erreur survient lors de la sauvegarde, il sera difficile de faire une compensation puisque le client a déjà reçu la réponse que sa commande a été enregistrée alors que non. Pour l'envoi de mail, je suis d'accord qu'il y soit inclus à forteriro de définir le traitement à reverser si l'envoi de mail échoue. Est-il un mail obligatoire qui doit être impérativement envoyé ? Dans c'est cas, il sera judicieux de prévoir des retry d'envoie de mail. Un dernier point, il faut obligatoirement redéfinir le pool de thread pour l'exécution des méthodes asynchrones. Car, par défaut, Spring boot utilise un thread par exécution qui n'est pas vraiment optimal pour la consommation des ressources.