Salut à tous !

Voici mon problème.
Je travaille sur un projet qui nécessite d'instancier des objets java à partir de fichiers XML. Castor fait exactement ça.

Ma situation est assez simple.

J'utilise d'abord Castor pour créer un fichier XML : test.xml en faisant du marshalling(sérialisation) d'un objet Person (celui des exemples du site de castor).
Ensuite, je fais l'inverse, et j'unmarshall (désérialise) test.xml pour récupérer un deuxième objet Person. Les deux sont identiques => Ok.

Le fichier test.xml généré par le Marshaller :
<person>
<name>Ryan</name>
<date-of-birth>2000-10-10T00:00:00.000+02:00</date-of-birth>
</person>
Ça semble Ok.

Mais j'ai besoin de désérialiser de GROS fichiers XML (~1Go) dans un environnement de production.
Donc, j'ajoute des gros nodes à mon fichier test.xml généré plus haut, jusqu'à ce que celui-ci fasse 1Go.
La structure du fichier reste la même :
<person>
<movement>.....</movement>
// pleins de nodes <movement> ici
<name>Ryan</name>
<date-of-birth>2000-10-10T00:00:00.000+02:00</date-of-birth>
</person>

Quand je désérialise ce fichier de 1Go, j'attrape l'exception :
Exception in thread "Main Thread" java.lang.StackOverflowError
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
...


Je n'utilise pas de fichier de mapping.
paramètres JVM :
-Xmx1024m.
-Taille de la JVM au moment du crash: 70Mo ~

Fichiers attachés :
Person.java : L'objet Person vers lequel désérialiser
TestIt.java : La classe de test
test.xml : Fichier généré par la sérialisation de l'objet Person, que j'ai ensuite désérialisé. Tout est Ok avec ce fichier.
112.xml : Fichier test.xml auquel j'ai ajouté un node <movement>. désérialisation Ok
Lorsque mon fichier 112.xml fait 1Go (en gros quand j'ajoute un bon paquet de nodes <movement> les uns derrière les autres, impossible de désérialiser


Quelqu'un peut m'aider ou connait un outil permettant de faire de la désérialisation de gros fichier tel que celui-là ? ?