Spring Batch - Présentation

Batch processingest un mode de traitement qui implique l'exécution de séries de travaux complexes automatisés sans interaction de l'utilisateur. Un processus par lots gère les données en masse et s'exécute pendant une longue période.

Plusieurs applications d'entreprise nécessitent de traiter d'énormes données pour effectuer des opérations impliquant -

  • Événements temporels tels que les calculs périodiques.

  • Applications périodiques traitées de manière répétitive sur de grands ensembles de données.

  • Applications traitant du traitement et de la validation des données disponibles de manière transactionnelle.

Par conséquent, le traitement par lots est utilisé dans les applications d'entreprise pour effectuer de telles transactions.

Qu'est-ce que Spring Batch

Spring batch est un lightweight framework qui est utilisé pour développer Batch Applications qui sont utilisés dans les applications d'entreprise.

En plus du traitement en masse, ce framework fournit des fonctions pour -

  • Y compris la journalisation et le traçage
  • Gestion des transactions
  • Statistiques de traitement des travaux
  • Redémarrage du travail
  • Gestion des sauts et des ressources

Vous pouvez également mettre à l'échelle des applications par lots de ressorts en utilisant ses techniques de portionnement.

Caractéristiques de Spring Batch

Voici les caractéristiques notables de Spring Batch -

  • Flexibility- Les applications Spring Batch sont flexibles. Il vous suffit de modifier un fichier XML pour modifier l'ordre de traitement dans une application.

  • Maintainability- Les applications Spring Batch sont faciles à entretenir. Un travail Spring Batch comprend des étapes et chaque étape peut être découplée, testée et mise à jour, sans affecter les autres étapes.

  • Scalability- En utilisant les techniques de portionnement, vous pouvez mettre à l'échelle les applications Spring Batch. Ces techniques vous permettent de -

    • Exécutez les étapes d'un travail en parallèle.

    • Exécutez un seul thread en parallèle.

  • Reliability - En cas d'échec, vous pouvez redémarrer le travail exactement là où il a été arrêté, en découplant les étapes.

  • Support for multiple file formats - Spring Batch prend en charge un grand nombre de lecteurs et d'écrivains tels que XML, Flat file, CSV, MYSQL, Hibernate, JDBC, Mongo, Neo4j, etc.

  • Multiple ways to launch a job - Vous pouvez lancer une tâche Spring Batch à l'aide d'applications Web, de programmes Java, de ligne de commande, etc.

En plus de cela, les applications Spring Batch prennent en charge -

  • Nouvelle tentative automatique après échec.

  • Suivi de l'état et des statistiques pendant l'exécution du lot et après la fin du traitement par lots.

  • Pour exécuter des travaux simultanés.

  • Services tels que la journalisation, la gestion des ressources, le saut et le redémarrage du traitement.