@Async
nos provee una manera conveniente de gestionar los hilos con la configuración estandar de Spring para los executors.
CompletableFuture
provee una manera de encadenar diferentes etapas de asincronismo directamente sin depender de Spring.
En otras palabras, @Async
en código se veria así:
@Async
public CompletableFuture<String> computeAsync() {
// do something slow - no change to this part
// note: no need to wrap your code in a lambda/method reference,
// no need to bother about executor handling
return CompletableFuture.completedFuture("my result");
}
Pero el equivalente a este código anterior con solo ComplatebleFuture
se veria así:
@Autowire
private Executor executor;
public CompletableFuture<String> computeAsync() {
return CompletableFuture.supplyAsync(() -> {
// do something slow
return "my result";
}, executor);
}
En conclusión, la gestión de hilos sera administrada por Spring con la ayuda de @Async.
Referencias:
Comentarios
Publicar un comentario