IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

[FOP 0.92 beta] support des gros fichiers ?


Sujet :

XML/XSL et SOAP

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut [FOP 0.92 beta] support des gros fichiers ?
    Je suis entrain de faire face à un nouveau problème, je convertis des fichiers xml en fichier pdf, avec des fichiers de petites tailles ça marche mais avec des fichiers de grosses tailles par exemple de 1379 ko ça me fait des erreurs et ça marque "Exception in thread "main" java.lang.OutOfMemoryError". je voudrais donc savoir si la dernier version de fop à savoir la 0.92beta ne supporte vraiment pas les gros fichiers ou bien il y'a une alternative, un moyen de gestion de ces fichiers de grosses tailles.
    merci de votre patience et collaboration

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    slt massambius,

    je te conseil de t'inscrire sur la mailing list de fop pour avoir plus de support.
    je te confirme que c'est un pb connu de cette version, le pb est reerencé sur le bugzilla de fop.

    tu peux essayer ceci :

    http://xmlgraphics.apache.org/fop/0....ng.html#memory
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  3. #3
    Membre régulier
    Avatar de blastobi
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Points : 112
    Points
    112
    Par défaut
    Ayant eu pas mal de soucis pendant mon stage avec les OutOfMemory exceptions, je pense pouvoir te conseiller !

    Déjà, vérifie que ton xsl-fo est optimisé au maximum. En gros, n'hésite pas à faire plusieurs page-sequence ; si tu utilises des page-number-citation ou un sommaire, tente de les supprimer pour voir les améliorations. Va voir ici pour plus de détails

    Je ne sais pas quelles sont tes contraintes, mais si tu génères que du pdf, je te conseille aussi de revenir à la version release 0.20.5. Elle est plus rapide et moins gourmande en mémoire. Tu peux le coupler à JFor si tu veux du RTF (là aussi, mieux apte à supporter les transformations de gros fichiers XML)

  4. #4
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    blastobi je ne comprend pas pourquoi il faudrait creer d'autres page sequence , à quoi vont elles servir?.De plus pourquoi revenir à la version 0.20.5 sachant qu'elle est plus lente et qu'elle plante losrqu'on utilise les gros fichiers . Sinon j'ai trouver le moyen d'augmenter ma capacité mémoire par la commande java -Xmx. Je suis entrain de faire des tests et de corriger mes erreurs de compilation. Je vous tiens au courant, merci de votre patience

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    De plus pourquoi revenir à la version 0.20.5 sachant qu'elle est plus lente et qu'elle plante losrqu'on utilise les gros fichiers

    pas sur!!, la version 0.20.5 n'a rien à envier à la nouvelle version (dans son état actuelle non stable). c'est même plutot la 0.92 qui plante à longueur de journée avec des outmemory et des "can not fit etc...).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     plante losrqu'on utilise les gros fichiers
    ça depend de ce que tu appel gros fichier? moi je fais des transfo de 1000 à 2000 pages sans soucis avec la 0.20.5!!


    voila, donc si t'a pas d'interêt particulier pour la 0.92 je te conseil aussi de travailler avec la 0.20.5. tu gagnera en statbilité (au moins le temps que lanouvelle version passe en stable et je ne crois pas que c'est pour demain )
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  6. #6
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    En fait j'entend par gros fichiers des fichiers de grosses tailles(1300ko). C'est mon maitre de stage qui m'a dit que fop 0.20.5 boudait les fichiers de grosses tailles et était lent. Il m'a redirigéré vers fop 0.92beta et m'a dit de faire des recherches. par contre vous vous vantez les mérites de fop 0.20.5, je dois avouer que je suis un peu perdu, quelle version utiliser alors ?sachant que aprés je voudrais faire utiliser fop dans un servelt.

  7. #7
    Membre régulier
    Avatar de blastobi
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Points : 112
    Points
    112
    Par défaut
    Eh bien écoute, personnellement j'ai débuté sur la 0.92b pour le projet que j'avais à faire. Pour le PDF, son utilisation était suffisante mais ayant eu des soucis de mémoire pour la génération de RTF, j'ai cherché une solution alternative. (Car la consommation de mémoire est loin d'etre identique entre la génération de pdf et rtf dans fop)

    J'ai trouvé la solution ici, il y'a maintenant 1 ou 2 mois : Jfor pour la génération de RTF est beaucoup plus efficace que fop 0.92. (10 fois plus rapide et 30% moins consommateur de mémoire dans mon cas! )
    Pour la génération de PDF, je ressors les chiffres que j'avais donné :
    (...)Je viens de faire un petit test entre la version 0.20.5 et 0.92 de FOP. La différence est flagrante pour un document final de 300 pages :
    - FOP 0.20.5 : 170Mo de mémoire vive max, 1 minute nécessaire à la génération, fichier PDF de 721Ko au final.
    - FOP 0.92 : 400Mo de mémoire vive max, 3 minute nécessaire à la génération, fichier PDF de 1080Ko au final.
    A savoir que les docs que je génère sont composés à 95% de tableaux de valeurs.

    Pour l'histoire des page-sequence à multiplier, c'est simple : fop charge tout en mémoire jusqu'à la fin du page-sequence. Résultat : la mémoire explose rapidement si tu as des centaines de pages contenues dans un meme page-sequence. Si tu en utilises plusieurs, la mémoire sera libérée à la fermeture de chacune d'elles.
    Use multiple page sequences. FOP starts rendering after the end of a page
    sequence is encountered. While the actual rendering is done page-by-page,
    some additional memory is freed after the page sequence has been rendered.
    This can be substantial if the page sequence contains lots of FO elements.
    Je te conseille de toute facon de faire les tests toi meme, tu seras ainsi fixé ! Ta XSLT devrait être valide avec la version 0.20.5 de fop(a la rigueur 2/3 modifs a faire ) donc en 5 minutes, le temps de télécharger cette version, tu pourras comparer son efficacité par rapport à la version 0.92b !

  8. #8
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    mon maitre de stage m'a dit que pour ajouter de l'allocation mémoire avec la commande Xmx -64m par ex, on le fait dans le script de fop, fop.sh c'est ce que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fop_exec_command="exec \"$JAVACMD\" $LOGCHOICE $LOGLEVEL -Xmx64m -classpath \"$LOCALCLASSPATH\" $FOP_OPTS org.apache.fop.cli.Main $fop_exec_args"
    .Mais ça ne marche tjrs pas, il y'a tjrs un pb de mémoire est ce dans le fop.sh qu'il faut ajouter cette commande?sinon j'ai essayer de generer mon pdf cette fois çi avec fop 0.20.5, voila mon erreur à présent
    [ERROR] Don't know what to do with ftest.sav.xml

  9. #9
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    voila la commande du script où j'ai ajouté la commande qui augmente la capacité mémoire
    fop_exec_command="exec \"$JAVACMD\" $LOGCHOICE $LOGLEVEL -Xmx64m -classpath \"$LOCALCLASSPATH\" $FOP_OPTS org.apache.fop.cli.Main $fop_exec_args"

Discussions similaires

  1. Lire des gros fichiers
    Par alain123 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 04/09/2007, 10h16
  2. [XML][ENCRYPTION] encoder des gros fichiers avec AES_128
    Par marcsaker dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 29/09/2006, 10h18
  3. Upload par FTP avec des gros fichiers
    Par __fabrice dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 07/06/2006, 13h08
  4. Transférer des gros fichiers, choix technologique?
    Par RB Greg dans le forum Développement
    Réponses: 8
    Dernier message: 25/04/2006, 11h25
  5. Peut-on lire des gros fichiers(100k) avec "TClientSocke
    Par Fred LEM dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/12/2004, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo