Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: the_peuffeur@voila.fr
Date: 03/06/2002 - 11:50


Merci pour ta rponse Frdric mais je ne suis pas sur de bien comprendre.
Ce que j'aimerai faire c'est compiler les xsl au dmarrage du serveur Tomcat grace une servlet en autoload (donc une seule compilation par xsl) et actuellement ca semble fonctionner pour plusieurs utilisateurs accdant une mme servlet malgr ce que dit la doc.
Est-ce qu'il y a quelque chose que je n'ai pas bien compris ?
Si dans cette utilisation il y a des problmes, je ne vois qu'une solution : crer un pool de xsl compiles (je ne sais pas encore comment mais ce doit tre faisable) ...
Pour info, voici un bout de mon code :

InputStream XSLis = XSLTransformerCollection.class.getResourceAsStream(uri);
StreamSource xslSource = new StreamSource(XSLis);
xslSource.setSystemId(XSLis.toString());
TransformerFactory tFactory = TransformerFactory.newInstance();
Templates myTemplates = tFactory.newTemplates(xslSource);
Transformer retour = myTemplates.newTransformer();
// stockage de la xsl compilee en attribut d'1 singleton
lstTransformerStyle.put(cle,retour);

Merci de vos suggestions.

       Frdric.


> the_peuffeur@voila.fr wrote:
> > J'utilise la version de Xalan J 2.2 et j'ai lu quelque part qu'il
> > fallait utiliser une nouvelle instance de xalan pour chaque appel
> > une xsl compile (il semblerait y avoir des problmes quand plusieurs
> > threads utilisent la mme instance de xalan).
> > Dans mon appli Java je compile mes XSL une seule fois et je les stocke
> > en attribut d'un singleton, puis partir d'une servlet je fais appel
> > une mthode sur le singleton pour rcuprer la xsl compile et je ne
> > semble pas rencontrer de problmes, je suis en phase de dev donc j'ai
> > essay avec seulement 3 connexions simultanes.
> > Quelqu'un peut-il me confirmer ou m'infirmer que je rencontrerai des
> > problmes, y a t-il une autre solution avec xalan sans recompiler les
> > xsl ? Pour info la transformation se fait en environ 200 400 milli
> > secondes au lieu de 2 3 secondes (suivant les flux XML) !
>
> > Merci de vos remarques et suggestions.
>
> Pour faire une transformation XSLT, il faut utiliser l'objet Transformer
> (javax.xml.transform.Transformer). Celui-ci n'est pas thread safe,
> d'ailleurs la doc l'indique clairement :
> "An object of this class may not be used in multiple threads running
> concurrently. Different Transformers may be used concurrently by
> different threads."
>
> C'est la raison pour laquelle, dans un contexte de processus
> concurrents, l'utilisation de la classe Templates est un passage
> oblig (javax.xml.transform.Templates). La doc est claire aussi sur
> ce point :
> "Templates must be threadsafe for a given instance over multiple threads
> running concurrently, and may be used multiple times in a given session."
>
> On utilisera alors un Transformer qui sera cr par l'instance de
> Templates pour ne pas avoir de problme.
> Templates t=...
> Transformer tr = t.newTransformer()...
>
> donc pour conclure, il y a effectivement des prcautions prendre
> pour utiliser ces objets de faon concurrente.
> Les objets Templates permettent d'y rpondre, maintenant vous pouvez
> toujours envisager de "synchroniser" la transformation pour viter
> la compilation des feuilles de styles, en ayant bien l'esprit
> le cot que cela peut avoir (goulet d'tranglement, attente des autres
> processus, mise en place de thread pour pallier a... et j'en passe..)
>
> De toute faon, les feuilles de style, qu'elles soient compiles par
> vos soins (via l'objet Templates) ou par la machine (par son propre
> mcanisme), elles le seront forcement (compiles) un moment donn...
> donc...
>
> cordialement
>
> --
> Frdric Laurent
> http://www.opikanoba.org
>
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>

____________________________________________________________
Faites un voeu et puis Voila ! www.voila.fr
Avec Voila Mail, consultez vos e-mails sur votre mobile Wap.
ޝy֜\߭\{kͫz^i_ܢhmi_)ߢy֜.+-yם*'imyqW뢸!~+ mzX笵趷h+bzhb˭z~q޶לxby>"'kywz{^2{;,j{^핧(fu맲ryfל-i_fל-i_Jy



Archive gnre par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC

webmaster@xmlfr.org

xml tech

Discussions techniques au sujet de XML.

Cette liste est votre disposition pour discuter en franais de tout sujet technique li XML.



Devenez rdacteur <XML>fr et contribuez au dveloppement du xml francophone !
Les documents publis sur ce site le sont sous licence "Open Content"
Conception graphique
l.henriot@online.fr

Conception, ralisation et hbergement