Spring Batch
Spring Batch es el framework para procesamiento de lotes de Spring Framework. Este framework apunta a crear una plataforma que brinde servicios comunes para los programas batch.
Arquitectura básica
El elemento principal de Spring Batch es el Job (Trabajo). Un Job representa un procesamiento batch a ejecutar. Un Job está compuesta de varios Step (Pasos), que se ejecutan en forma secuencial.
El mismo Job puede configurarse con distintos parámetros que lo diferencian (por ejemplo, la fecha de ejecución). Esto se conoce como JobInstance. Así, un JobInstance es la particularización de un Job con un conjunto de datos determinados.
La ejecución de un JobInstance es un JobExecution. Así, un JobInstance puede tener asociados muchos JobExecution, uno por cada intento de ejecución (por ejemplo, 2 intentos fallidos y uno exitoso).