Envoyé par
spooon
Je comprend tout à fait !
Cela voudrait dire qu'ici, mon unité <person> est trop grosse, ce qui n'est pas le cas de mes entités dans mon environnement de production, où les entité pouvant être traités de façon unitaire font moins de 1Mo, mais son en très grand nombre dans le fichier XML.
Actuellement, mon application tourne avec une librairie Castor 0.9.7.
le fonctionnement est le suivant.
Le fichier à utiliser contient un grand nombre de <commande>, chacune devant être traitée séparément.
Les commandes instanciées sont mise dans un pull de commande.
Ce pull de commande alimente un handler qui va traiter une à une les commandes.
Dans l'ordre, les étapes sont :
1/ Unmarshalling du fichier de 500Mo~ (fichier qui va dépasser les 1Go à la prochaine version), et instançiation des objets commandes
2/ Traitement des commandes (écriture en base etc...)
Si j'ai bien compris ce que tu me dis JeitEmgie, il est possible de commander le comportement du parser de Castor. Serait-il possible que le parser s'arrête dans son instanciation, et "attende" que le nombre de commande dans le pull de commandes disponibles passe en dessous d'un seuil, avant de le réalimenter avec de nouvelles commandes fraichement parsées, et donc d'utiliser moins de mémoire ?
Partager