Este repositorio contiene una serie de ejemplos prácticos de como realizar tareas Asíncronas y/o concurrentes utilizando CompletableFuture. Cada ejemplo es susceptible a mejoras.
La construcción inicio el día 28 de julio del 2020, y se actualizará durante un par de meses hasta completar varios casos de usos que permitan demostrar diferentes uso de esta clase.
-
Tareas Asíncronas: Aquellas que una vez iniciada su ejecución no tenemos que esperar a que esta termine, y mientras se ejecuta se pueden ir realizando otras tareas.
-
Tareas concurrentes: Aquellas que se ejecutan al mismo tiempo, generalmente con el objetivo de obtener una respuesta más rápida.
-
CompletableFuture: Es una clase en Java, incluida desde la versión 8, y que en la versión 14 contiene más de 50 métodos.Permite entre otros la ejecución de tareas asíncronas y/o concurrentes.
-
Este proyecto está estructurado con Maven
-
La versión utilizada de Java es la 14
-
Utiliza slf4j para generar los logs
-
Junit 5 es utilizado para la creación de los casos de pruebas.
-
Cada ejemplo tiene uno o más casos de prueba para ejecutar y ver su funcionamiento
-
Clone o descargue este repositorio
-
Ejecute los casos de pruebas desde un IDE o desde una consola de comandos ejecute el comando
mvn test
-
Registro Asíncrono de pagos: Este ejemplo muestra como realizar tareas que se ejecutan al mismo tiempo y asíncronas.
-
Consulta de información al mismo tiempo para consolidar el resultado: Este ejemplo realiza la consulta de las tareas asignadas a un grupo de desarrolladores, consultando la información de varios de ellos a la vez, una vez toda la información se encuentra cargada se consolida para retornar el resultado.
-
Definiendo el número de tareas a ejecutar al mismo tiempo: En este ejemplo se muestra como definir el numero de tareas concurrentes, y como verificar los hilos o threads que se crean. Para este ejemplo se usa el mismo escenario del ejemplo 2.