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
@Servicepublic class NotificationService {@Asyncpublic CompletableFuture<String> sendEmailNotification(String recipient) {// Simulate long-running taskreturn 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.