J'ai besoin d'écrire un travail par lot qui récupère les lignes d'une table de base de données et, en fonction de certaines conditions, écrit dans d'autres tables ou met à jour cette ligne avec une certaine valeur. Nous utilisons Spring et jdbc pour récupérer le jeu de résultats et itérer à travers et traiter les enregistrements en utilisant un programme java autonome qui est programmé pour être exécuté chaque semaine. Je sais que ce n'est pas la bonne façon de faire, mais nous devions le faire comme une solution temporaire. Au fur et à mesure que les enregistrements se compteront en millions, nous finirons par avoir des exceptions pour cause de mémoire insuffisante, et je sais donc que ce n'est pas la meilleure approche.
L'un d'entre vous peut-il me recommander la meilleure façon de faire face à une telle situation ?
Utiliser les Threads et récupérer 1000 enregistrements par thread et les traiter en parallèle ?
(OR)
Utiliser un autre mécanisme de batch pour faire cela (je sais qu'il y a spring-batch mais je ne l'ai jamais utilisé).
(OR)
D'autres idées ?