java / beginner
Snippet
Nicht-blockierende Ergebnisse mit Async CompletableFuture zurückgeben
Die Kombination von Springs @Async-Annotation mit Javas CompletableFuture führt Methoden asynchron in einem separaten Thread-Pool aus und verhindert, dass langsame I/O-Operationen den aufrufenden Ablauf blockieren.
snippet.java
java
1
2
3
4
5
6
7
8
@Servicepublic class NotificationService {@Asyncpublic CompletableFuture<String> sendWelcomeEmail(String recipient) {return CompletableFuture.completedFuture("Email sent to " + recipient);}}
spring
Erklärung
1
@Service
Registriert die NotificationService-Klasse als Spring-Bean im Container.
2
@Async
Weist Spring an, diese Methode in einem separaten Hintergrund-Thread des konfigurierten Task-Executors auszuführen.
3
public CompletableFuture<String> sendWelcomeEmail(String recipient) {
Definiert die asynchrone Methode, die einen CompletableFuture-Wrapper um das String-Ergebnis zurückgibt.
4
return CompletableFuture.completedFuture("Email sent to " + recipient);
Kapselt die fertige Rückgabenachricht in einer bereits aufgelösten CompletableFuture-Instanz.