Bonjour,
je me trouve bloqué sur un problème de mémoire FOP.
Pour planter le décors j'ai un Fichier XML qui contient un tableau avec (Ligne+)
et mon XSL qui affiche chaque ligne sur 2 pages dépendantes.
La première m'affiche certains critères, la suivante les mêmes lignes avec d'autres critères.
Pour ce faire j'ai créé deux template PageImpaire et PagesPaire pour afficher l'ensemble de mon tableau , sachant que chacune des lignes visuelles aura sa taille propre (donc impossible de savoir combien de lignes seront affichées par page à l'avance)
En simplifiant l'algo ça donne
PageImpaire(0,0) [->CallTemplate] PagePaire(position_init,position_fin)
[-> CallTemplate] PageImpaire(position_fin+1,nbLigneTotal)
[->CallTemplate] PagePaire(position_fin+1,nbLigneTot)
... en récursif jusqu'a la fin du tableau.
Pour une quinzaine de page ça passe, mais après plantage ...
Le message est :
Je comprends bien qu'il y a une surcharge de mémoire quelque part... mais je n'arrive pas à la faire disparaitre, le Xprof ne m'indique pas grand chose, le nombre de thread est stable... mais focément à chaque appel récursif j'augmente significativement les ressources utilisées par XPATH sans jamais les libérer...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 org.apache.fop.fo.FOTreeBuilder$MainFOHandler endElement WARNING : Mismatch : page-sequence (http://www.w3.org/1999/XSL/Format) vs. root(http://www.w3.org/1999/XSL/Format) java.lang.OutOfMemoryError Exception in thread "main"
Auriez vous une idée pour supprimer ce problème ou du moins une piste qui m'aiderai à avancer? (sachant qu'en plus j'épluche depuis 2-3 jours les ressources de fop)
Merci d'avance.
Cdt.
Alex.
Partager