Formation en Développement: Spring Batch – Traitement de masse avec Spring - Ascent Formation
Retour aux formations
Développement

Spring Batch – Traitement de masse avec Spring

3 jour(s)21h

Description

Objectif de formation : À l’issue de la formation, les participants seront capables de concevoir, développer et exécuter des traitements de masse robustes et performants avec le framework Spring Batch, en intégrant des fonctionnalités avancées comme la gestion des erreurs, le partitionnement et les traitements parallèles.

Objectifs pédagogiques

  • Comprendre l’architecture de Spring Batch et son modèle de traitement
  • Créer et configurer des jobs de traitement avec Spring Batch
  • Mettre en œuvre des étapes de lecture, transformation et écriture (pattern Reader/Processor/Writer)
  • Gérer les transactions, les erreurs, les redémarrages et les logs
  • Optimiser les performances avec le partitionnement et le traitement parallèle
  • Intégrer Spring Batch dans un environnement de production (scheduling, monitoring)

Public concerné

Développeurs Java confirmés
Ingénieurs logiciels
Chefs de projet technique ayant besoin de traiter des flux de données importants
Architectes logiciels souhaitant intégrer Spring Batch à leur SI

Prérequis

Maîtrise du langage Java (POO, exceptions, collections)
Connaissance de base du framework Spring (IOC, Beans, Configuration)
Notions de base sur JDBC et les bases de données relationnelles

Déroulé du programme

1

Introduction à Spring Batch (3 heures)

3h
  • Cas d’usage des traitements de masse
  • Architecture : Job, Step, Chunk, ItemReader, ItemProcessor, ItemWriter
  • Métadonnées et tables techniques Spring Batch
  • Travaux pratiques : Création d’un projet Spring Batch de base (avec Spring Initializr)
2

Création d’un Job de traitement (4 heures)

4h
  • Définir un job simple : structure, paramètres, écouteurs
  • Types de Readers/Writers (fichiers plats, JDBC, etc.)
  • Mise en œuvre de l’ItemProcessor
  • Travaux pratiques : Développement d’un job lisant un fichier CSV, le transformant, et insérant les données en base
3

Gestion des erreurs, redémarrages et transactions (3 heures)

3h
  • Transactions, commit-interval, skip, retry
  • Redémarrage de job (JobRepository, JobInstance)
  • Gestion des erreurs spécifiques dans le traitement
  • Travaux pratiques : Ajout d’un mécanisme de retry/skip et test d’un redémarrage après plantage
4

Traitement conditionnel, multi-steps et flows (3 heures)

3h
  • Conditions de passage entre steps
  • Split flows, deciders, transitions
  • Travaux pratiques : Création d’un job avec plusieurs branches conditionnelles (succès/échec)
5

Optimisation avec le partitionnement et le traitement parallèle (4 heures)

4h
  • Multi-threading avec TaskExecutor
  • Partitionnement d’un step
  • Remote Chunking et Grid computing
  • Travaux pratiques : Implémentation d’un traitement parallèle sur plusieurs fichiers ou segments de base
6

Intégration, exécution et supervision en environnement réel (4 heures)

4h
  • Lancement via ligne de commande, planification (cron, Spring Scheduler)
  • Export des logs, supervision via Actuator ou Spring Boot Admin
  • Bonnes pratiques de déploiement
  • Travaux pratiques : Mise en production simulée avec lancement programmé et monitoring simple

Informations

Durée

3 jour(s)

21h

Tarif

Sur demande