## Batch InsertionJeuEssai
- Besoin
- Initialiser une base de données à partir de fichiers csv sur applishare
- L'EPS devient autonome sur le contenu des données et peut rejouer le batch à sa guise (Rundeck)
- Utilisé sur les environnements de dev/recette
- Globalement 1 csv = 1 table
- Faible volumétrie => Exécution du batch rapide
---
## Batch sur Sirene 4
- Environnement technique
- Spring Boot (2.7.11)
- Spring Batch
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-batch</artifactId>
</dependency>
```
- Flyway :
```xml
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
```
---
## Comment définir un nouveau batch ?
```java
@Bean
public Job insertionJeuEssaiDemandeJob() {
return jobBuilders.get("InsertionJeuEssaiDemandeJob")
.start(flywayMigrateDemandeStep)
.next(insertionJeuEssaiDemandeSansEtapeActiveStep)
//... .next(xxx)
.next(insertionJeuEssaiAvisirLiensEtStep)
.build();
}
```
----
- Exécution :
- Sous Sirene4, `java -cp lib/* -Dproperties.path=xx org.springframework.boot.loader.JarLauncher job=InsertionJeuEssaiDemandeJob`
- Il semble qu'avec Spring Boot 3, on peut utiliser `spring.batch.job.name=`
---
## Démo
{"metaMigratedAt":"2023-06-18T07:20:36.174Z","metaMigratedFrom":"YAML","title":"Sirene4 - Batch InsertionJeuEssai","breaks":true,"slideOptions":"{\"theme\":\"solarized\",\"transition\":\"fade\",\"fade-up\":\"left\"}","contributors":"[{\"id\":\"49c32545-7749-417f-b698-17ef4ab91666\",\"add\":5397,\"del\":3867}]"}