0% ont trouvé ce document utile (0 vote)
81 vues1 page

Spring Batch

Le JobLauncher de Spring Batch permet de lancer des jobs de manière synchrone ou asynchrone, facilitant le traitement de données via une API REST sans maintenir la session HTTP active. Le JobRepository stocke des informations sur les jobs exécutés, permettant de redémarrer ou de mettre en pause des traitements, tandis que les JobParameters définissent l'identité d'une instance de job. Chaque job est composé de plusieurs étapes séquentielles, et peut être programmé pour s'exécuter périodiquement à l'aide d'un scheduler comme Quartz.

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)
81 vues1 page

Spring Batch

Le JobLauncher de Spring Batch permet de lancer des jobs de manière synchrone ou asynchrone, facilitant le traitement de données via une API REST sans maintenir la session HTTP active. Le JobRepository stocke des informations sur les jobs exécutés, permettant de redémarrer ou de mettre en pause des traitements, tandis que les JobParameters définissent l'identité d'une instance de job. Chaque job est composé de plusieurs étapes séquentielles, et peut être programmé pour s'exécuter périodiquement à l'aide d'un scheduler comme Quartz.

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

Le JobLauncher permet de lancer un job.

Il existe Spring Batch propose une implémentation de Step utilisant un ItemReader et ItemWriter (
différentes façons de lancer un job, il est possible de et optionnellement un itemProcessor) pour respectivement lire et écrire des données.
le faire de façon synchrone ou bien asynchrone. Le Spring Batch propose un support de lecture/écriture pour de nombreux types de ressources
choix de lancer un Job de façon asynchrone est très : fichiers plats, fichiers XML, base de données (SQL ou mapping objet/relationnel). Dans tous
pertinent pour une application WEB car cela va les cas, Spring Batch se charge des détails dits de bas niveau (ouverture/fermeture des flux,
permettre d’effectuer un traitement long via une API création des fichiers, etc.), afin d’éviter du code pénible, mais aussi de fiabiliser les
REST et de ne pas garder la session HTTP active. applications.

Le JobRepository est la classe qui va stocker un grand La notion de Job correspond à un traitement qui est effectué lors de l’exécution
nombre de données autour du Job. À travers cette d’un batch. Plus concrètement, un job est représenté par un Bean
classe, il va être possible de récupérer un historique des implémentant l’interface Job. Un job est composé d’un ensemble d’étapes
différents jobs qui ont été lancés avec un grand nombre (step). Les étapes d’un job sont séquentielles, c’est-à-dire qu’elles doivent être
de données pertinentes. C’est majoritairement grâce à exécutées les unes à la suite des autres. Donc, Le Job en quelque sorte est la
cette sauvegarde de données que l’on peut redémarrer représentation du batch à travers le Framework Spring Batch. Cette classe va
des Jobs ou bien effectuer des pauses dans le pouvoir définir différentes Step au sein de son exécution avec un ordre précis.
traitement. un job doit être lancé à travers un JobLauncher, et les métadonnées du
processus exécuté doit être stocké sur le JobRepository.
Un job peut être lancé périodiquement via un Exemple :
programmateur (scheduler en anglais). Quartz en est un parfois on peut avoir besoin de 3 jobs, un qui permet de lire les données depuis
exemple de Scheduler développé en Java, qui peut être une source de données (un fichier par exemple) pour les mettre dans une BD,
embarqué dans une application Web (Spring propose un un deuxième pour traiter ou transformer ces données pour insert dans une
support pour Quartz). autre table, et le 3eme devrait exporter les données traitées dans un fichier.

Dans cet exemple, on parle de l’instance de job du 17/03/2009, de celle du 18/03/2009, et ainsi de suite.
Une instance de job implique donc la définition de l’identité d’un job, qui passe dans Spring Batch par la
classe JobParameters.
Les paramètres passés à un job lors de son lancement permettent de définir complètement son identité,
c’est-à-dire l’objet JobInstance qui le représentera. Dans cet exemple, l’identité d’une instance du job
pourrait donc passer par un JobParameter contenant la date du jour, passé aux JobParameters. L’identifiant
(peut être une date, l’heure, tout ce qui permet d’identifier de façon unique un Job) : Job du 15 Septembre,
du 12 Octobre, etc.
> le Job encapsule tout le processus du batch.
> jobInstance se réfère au concept de la logique d’exécution, ça veut dire que si le job s’exécuterait une
seule fois à la fin de journée, il doit y avoir un seul jobInstance logique par jour. Chacun des jobInstance peut
avoir multiples exécutions.
> jobExecution fait référence au concept technique d'une tentative d’exécution du job, qui peut échouer
comme elle peut s’exécuter avec succès. Elle n'est considérée complète que si l'exécution est finalisée.
> jobParameters définissent l’identité de l’instance (définie par la date du jour comme exemple).

Vous aimerez peut-être aussi