Spring: Paralelizar invocaciones con @Async

Spring simplifica mucho el uso del ExecutorService, para ejemplificarlo veamos un ejemplo con Java y el mismo ejemplo con Spring.

En un escenario como este en el que el método loadData se lleva el 70% del tiempo:

Para paralelizarlo en Java tendría que crearme una clase que implemente el interfaz Callable (ver post Future y Callable)

Y usar el ExecutorService para lanzar dentro del pool de hilos las tareas:

Con Spring la forma de paralelizar la invocación al loadData es muchísimo más sencilla.

Primero crearé un método loadData que devuelva un Future y lo anoto con @Async:

Y en el método que itera:

Respuesta

  1. ¿Y esa comparativa con Hystrix?

    😉

    [los de Netflix ponían muchas objeciones a los Future’s estos]

Replica a Luis Cancelar la respuesta