0% ont trouvé ce document utile (0 vote)
36 vues15 pages

SPRING Batch

Spring Batch est un framework Java qui facilite le traitement de gros volumes de données en permettant la création de jobs batch. Il inclut des composants comme itemReader, itemProcessor et itemWriter pour gérer la lecture, le traitement et l'écriture des données. Le document présente également des exemples d'implémentation et les différentes interfaces utilisées dans le cadre de Spring Batch.

Transféré par

saber rochdi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
36 vues15 pages

SPRING Batch

Spring Batch est un framework Java qui facilite le traitement de gros volumes de données en permettant la création de jobs batch. Il inclut des composants comme itemReader, itemProcessor et itemWriter pour gérer la lecture, le traitement et l'écriture des données. Le document présente également des exemples d'implémentation et les différentes interfaces utilisées dans le cadre de Spring Batch.

Transféré par

saber rochdi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Spring Batch

spring
bacth
---------------
Concepts
---------------
Pourquoi SPRING BATCH ?

o Spring Batch est un framework Java basé sur Spring qui a


pour but de faciliter la création de batch.
o On parle de batch lorsqu’il s’agit d’un traitement sur un
gros volume de données.
écosystème SPRING BATCH ?
écosystème SPRING BATCH ?

Exemple :
lire les données depuis une source de données, un fichier par exemple pour les
mettre dans une BD, ensuite traiter ou bien transformer ces données pour les
insérer dans une autre table, et enfin exporter les données traitées dans un fichier.
Domain Language of Batch
Domain Language of Batch

endOfDayJob

Shedule date:17/03/2009
endOfDay Job du
17/03/2009

1ére tentative de
l’instance du Job du
17/03/2009

JobInstance = Job + JobParameters


Exemple d’un Job

@Bean(name = "jobBatch")
public Job job(@Qualifier("stepBatch") Step stepBatch,
@Qualifier("stepBatchTwo") Step stepBatchBis) {
return [Link]("jobBatch")
.start(stepBatch)
.next(stepBatchBis)
.build();
}

1ére tentative de
l’instance du Job du
17/03/2009
Domain Language of Batch
Domain Language of Batch
Domain Language of Batch

Public interface itemReader<T>{


T read() throws Exception, UnexpectedInputException,
ParseException;
}

Public interface ItemProcessor<I, O>{


O process (I item ) throws Exception;
}

Public interface itemWriter<T>{


void write(List<? extends T> items ) throws Exception;
}
itemReader<>
Lecture d’un fichier CSV
Lit un fichier CSV, TXT avec
FlatFileItemReader contenant une liste de
délimiteurs ou format fixe.
clients.
Lit une base de données via Lecture de grandes
JdbcCursorItemReader
JDBC avec un curseur. quantités de données SQL.

Lit un fichier XML en utilisant


Extraction de données
XmlItemReader JAXB pour le mapper en
depuis un fichier XML.
objets Java.
Lecture d’un fichier JSON
Lit des fichiers JSON et les
JsonItemReader avec des données de
transforme en objets Java.
produits.
Utilise JPA/Hibernate pour Lecture des commandes
JpaPagingItemReader
lire des données paginées. stockées en base via JPA.
Extraction des informations
Lit des documents depuis une
MongoItemReader des utilisateurs depuis
base MongoDB.
MongoDB.
Consomme des messages Lecture des événements en
KafkaItemReader
depuis Apache Kafka. temps réel depuis Kafka.
itemWriter<>
Sauvegarde des clients
FlatFileItemWriter Écrit dans un fichier CSV, TXT.
traités dans un fichier CSV.
Insère ou met à jour des
Insertion en batch de clients
JdbcBatchItemWriter données en base SQL via
dans une base SQL.
JDBC.
Génération d'un fichier JSON
JsonFileItemWriter Écrit dans un fichier JSON.
contenant les commandes.
Stockage de données de
Écrit dans un fichier XML en
XmlFileItemWriter facturation dans un fichier
utilisant JAXB.
XML.
Utilise JPA/Hibernate pour
Mise à jour des commandes
JpaItemWriter insérer ou mettre à jour des
dans une base JPA.
entités.
Insère ou met à jour des Stockage des logs dans une
MongoItemWriter
documents dans MongoDB. base NoSQL.
Publie des messages dans Envoi d’événements en
KafkaItemWriter
Kafka. temps réel à Kafka.
Domain Language of Batch

Public interface JobLauncher {


public JobExecution run(Job, JobParameters)
throws JobExecutionAlreadyRunningException,
JobRestartException;
}
Step Tasklest

Vous aimerez peut-être aussi