java / beginner
Snippet
Ausführen nicht-blockierender Hintergrundaufgaben mit Async
Die Annotation @Async delegiert die Methodenausführung an einen Hintergrund-Thread-Pool, sodass aufrufende Methoden weiterlaufen können, ohne bei langsamen Aufgaben zu blockieren.
snippet.java
java
1
2
3
4
5
6
7
8
9
10
@Servicepublic class NotificationService {@Asyncpublic CompletableFuture<String> sendEmailNotification(String recipientEmail) {// Simulating a background taskString status = "Delivered to: " + recipientEmail;return CompletableFuture.completedFuture(status);}}
spring
Erklärung
1
@Async
Weist Spring an, die annotierte Methode in einem separaten Thread aus dem Task-Executor-Pool auszuführen.
2
public CompletableFuture<String> sendEmailNotification(String recipientEmail)
Deklariert eine asynchrone Methode, die das spätere Ergebnis in einem CompletableFuture-Container kapselt.
3
return CompletableFuture.completedFuture(status);
Gibt ein bereits abgeschlossenes asynchrones Future zurück, das den Ergebnis-String enthält.