If I recall correctly, TransformerImpl is not threadsafe, and should be used for one transformation only.
So, for each distinct stylesheet, you should have a Templates object, used to create a Transformer for each use. Then there should be no contention for anything used by the Transformer. Jeff On 12/12/2011 6:16 AM, kaja.mohid...@wipro.com wrote: > Hi all, > > > > My java application (running in “Java HotSpot(TM) Server VM (build > 14.0-b16, mixed mode)” on Sun Netra T5440) using Xalan transforms > thousands of XML files (uses 16 Threads). After it transforms about 5000 > XML files, it becomes slow and it starts transforming very slowly and it > takes 2mins for some transformation (where the first transformation of > similar XML with same XSLT ran in just 2 secs). One of the Thread Dump > is as follows > > > > java.lang.Thread.State: BLOCKED > > at java.util.Vector.elementAt(Vector.java:426) > > - waiting to lock <85094f> (a java.util.Vector) owned by > "AggregatorThreadPoolThreadPool-Thread-1" t@17 > > at > org.apache.xalan.templates.ElemTemplateElement.executeNSDecls(ElemTemplateElement.java:1182) > > at > org.apache.xalan.templates.ElemTemplateElement.executeNSDecls(ElemTemplateElement.java:1159) > > at > org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1318) > > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) > > at > org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) > > at > org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java:423) > > at > org.apache.xalan.templates.ElemForEach.execute(ElemForEach.java:263) > > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) > > at > org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) > > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) > > at > org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) > > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) > > at > org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281) > > at > org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367) > > - locked <4a1e3a> (a org.apache.xml.serializer.ToXMLStream) > > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709) > > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1284) > > - locked <24f1ed> (a java.lang.Boolean) > > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262) > > > > I couldn’t find any bug other than 2336 and 2344 that talks about > Vector. Please share any info, by which I can achieve consistent > performance. > > > > Thanks in advance, > > > > With regards, > > R Kaja Mohideen