Spring Batch - Descripción general

Batch processinges un modo de procesamiento que implica la ejecución de una serie de trabajos complejos automatizados sin la interacción del usuario. Un proceso por lotes maneja datos masivos y se ejecuta durante mucho tiempo.

Varias aplicaciones empresariales requieren procesar grandes datos para realizar operaciones que involucran:

  • Eventos basados ​​en el tiempo, como cálculos periódicos.

  • Aplicaciones periódicas que se procesan repetidamente en grandes conjuntos de datos.

  • Aplicaciones que se ocupan del procesamiento y validación de los datos disponibles de forma transaccional.

Por lo tanto, el procesamiento por lotes se utiliza en aplicaciones empresariales para realizar dichas transacciones.

¿Qué es Spring Batch?

El lote de primavera es un lightweight framework que se utiliza para desarrollar Batch Applications que se utilizan en aplicaciones empresariales.

Además del procesamiento masivo, este marco proporciona funciones para:

  • Incluyendo registro y rastreo
  • Gestión de transacciones
  • Estadísticas de procesamiento de trabajos
  • Reinicio del trabajo
  • Gestión de saltos y recursos

También puede escalar aplicaciones de lotes de primavera utilizando sus técnicas de porcionado.

Características de Spring Batch

Las siguientes son las características notables de Spring Batch:

  • Flexibility- Las aplicaciones de Spring Batch son flexibles. Simplemente necesita cambiar un archivo XML para alterar el orden de procesamiento en una aplicación.

  • Maintainability- Las aplicaciones Spring Batch son fáciles de mantener. Un trabajo de Spring Batch incluye pasos y cada paso puede desacoplarse, probarse y actualizarse sin afectar los otros pasos.

  • Scalability- Usando las técnicas de porcionado, puede escalar las aplicaciones de Spring Batch. Estas técnicas le permiten:

    • Ejecute los pasos de un trabajo en paralelo.

    • Ejecute un solo hilo en paralelo.

  • Reliability - En caso de cualquier falla, puede reiniciar el trabajo exactamente desde donde se detuvo, desacoplando los pasos.

  • Support for multiple file formats - Spring Batch proporciona soporte para un gran conjunto de lectores y escritores, como XML, archivo plano, CSV, MYSQL, Hibernate, JDBC, Mongo, Neo4j, etc.

  • Multiple ways to launch a job - Puede iniciar un trabajo de Spring Batch utilizando aplicaciones web, programas Java, línea de comandos, etc.

Además de estos, las aplicaciones Spring Batch admiten:

  • Reintento automático después de un error.

  • Seguimiento del estado y las estadísticas durante la ejecución del lote y después de completar el procesamiento por lotes.

  • Para ejecutar trabajos simultáneos.

  • Servicios como registro, administración de recursos, omitir y reiniciar el procesamiento.