Bonjour,
Avec Spring batch, on peut préciser qu'on veut commiter un chunk avec l'attribut "commit-interval" :
Dans cet exemple je vais commiter tous les 15 items traités. mais je vais traiter chaque item un par un.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <job id=""> <step id=""> <tasklet> <chunk reader="" writer="" commit-interval="15" /> </tasklet> </step> </job>
Or mon besoin, ce serait de traiter les 15 item d'un seul coup.
En fait (pour explication) le traitement d'un item fait beaucoup de select en base pour avoir des valeurs de calcul. Si je lance mes traitement un par un, je vais faire les nombreux select à chaque fois
Mon idée c'est de faire les select d'un seul coup avec mes 15 id (correspondant aux 15 item).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select foo from footable where id=1 // ici 1=l'id de l'item
Mon reader m'envoie une liste de 100000 id trouvés en base. Ensuite mon writer doit traiter les id.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select foo from footable where id in (1,2,3..., 15)
Mais comment faire ?
Partager