Le batch va lire dans une table puis transformer les données pour les copier dans une autre table. De plus le batch continu le traitement dans le cas d'exception précises mais donne une limite(nombre) pour une autre exception.
- spring-boot-starter-parent : 2.2.2.RELEASE
- spring-boot-starter-batch
- spring-boot-starter-data-jpa
- spring-boot-starter-aop
Ce batch ne contient :
- Un job : jobPrincipal
- Un step: step1
Caractéristique du job BatchConfig
public Job jobPrincipal(Step step, JobListener jobListener) {
....
}
- Listener JobListener : listener du job
- Step : suite de traitement reader,processor et writer
Caractéristique du step BatchConfig
public Step step1(JpaItemReader reader,
JpaItemWriter writer,
Processor processor,
StepListener stepListener,
ReaderListener readerListener,
ProcessListener processListener,
WriterListener writerListener
){
.....
}
- reader JpaItemReader : phase de lecture des données en DB
- Listener ReaderListener: listener sur la partie lecture
- processor Processor: phase de transformation des données
- Listener ProcessListener: listener sur la partie transformation des données
- writer JpaItemWriter: phase d'écriture des données trabsformées
- listener WriterListener:listener sur la partie écritures des données
##Lancement ClassMain
org.springframework.batch.core.launch.support.CommandLineJobRunner
Arguments
com.stef.spring.batch.jpa.config.BatchConfig jobPrincipal
ligne de lancement compléte
java -jar BatchJpa-0.0.1-SNAPSHOT.jar org.springframework.batch.core.launch.support.CommandLineJobRunner com.stef.spring.batch.jpa.config.BatchConfig jobPrincipal
#Ecriture d'un batch 0. Modification de la classe BatchConfig.java
- ligne 118 : inscrire le nom de la classe pour le reader puis pour le writer
- Modification du reader JpaItemReader.java
- Modification du processor Processor.java
- Modification du writer JpaItemWriter.java