0 Tage Serie
java / beginner
Snippet

Ausführen von Hintergrundoperationen mit Async und CompletableFuture

Die Annotation @Async markiert eine Methode zur Ausführung in einem separaten Thread-Pool von Spring. Das Einpacken des Rückgabewerts in ein CompletableFuture erlaubt es Aufrufern, asynchrone Ergebnisse nicht-blockierend abzufragen.

snippet.java
java
1
2
3
4
5
6
7
8
9
@Service
public class NotificationService {
@Async
public CompletableFuture<String> sendEmailNotification(String recipient) {
// Simulate long-running task
return CompletableFuture.completedFuture("Email sent to " + recipient);
}
}
spring
Erklärung
1
@Service
Deklariert die Klasse als Business-Service-Komponente im Spring-Kontext.
2
@Async
Weist Spring an, diese Methode asynchron in einem separaten Hintergrund-Thread auszuführen.
3
public CompletableFuture<String> sendEmailNotification(String recipient)
Deklariert die Methode mit einem Future-Objekt als Rückgabetyp für das asynchrone Ergebnis.
4
return CompletableFuture.completedFuture("Email sent to " + recipient);
Erstellt ein bereits abgeschlossenes CompletableFuture mit dem resultierenden Text.