Ca n'explique pas ton probl�me de Dead lock mais une
solution � ton probl�me serait d'avoir une servlet en
autoload qui va compiler tes XSL au d�marrage de ton
serveur d'appli et stocker dans un singleton tes objets
Templates (et non pas transformer sinon probl�mes avec les
threads : cf doc) puis lorsque tu dois faire ta
transformation tu cr�es ton Transformer � partir du
Templates stock� en cache. Ca te permettra de r�soudre ton
probl�me de dead lock, de ne pas limiter la charge avec des
synchronized et en plus la transformation sera tr�s rapide
puisque la xsl d�j� compil�e ...

Fred.


> J'ai un probl�me avec Tomcat 4.0.3 et Xalan XSLT 2.3.1 :
La servlet qui
> appelle la transfo XSLT fait un dead lock au deuxi�me
fichier XML et
> aucune exception n'est lev�e. Ceci n'arrive qu'avec
certains fichiers
> XSL... pour d'autres plus simple : tout s'ex�cute
correctement.
> J'ai essay� pas mal de chose mais sans succ�s.
>
> Le sujet est simple :
> un fichier XSL et plusieurs fichiers XML � transformer
(r�cup�r�s via
> URL puis openStream() car les fichiers sont distants)...
>
> Solutions test�es :
> * Je tente de cr�er un Transformer via Xalan puis de
transformer les
> fichiers. (Un transformateur appel� successivement)
> * Je cr�e un transformateur par fichier XML (c con mais
bon...)
> * Une politique de cache LRU sur les transformateurs,
> * Une politique de cache LRU sur des templates qui
retournent les
> transformateurs,
> * Des "synchronized" sur les m�thodes de transfo XSLT...
>
> Tout �a sans succ�s (voir m�me en combiner : 4 + 5, 1 +
5, 2 + 5, etc...)
>
> Plus �trange quand j'appelle les transfo dans le init de
la servlet, �a
> marche...
>
> Merci d'avance pour votre aide...
>
>
>
>
>
______________________________________________________
Bo�te aux lettres - Caramail - http://www.caramail.com

Répondre à