Hi Tom,

I couldn't run your test case as I don't have the milyn classes.  Have you 
tried using StreamSource and StreamResult to see if you get the same 
problem?

Thanks.


Erin Harris





Tom Fennelly <[EMAIL PROTECTED]> 
26/02/2007 02:29 PM

To
xalan-j-users@xml.apache.org
cc

Subject
Templates/Transformers + thread safety???






Hi.

While running some tests I noticed something strange - applying 
transformations concurrently + unsynchronized using the same template 
instance *appears* to be yielding unexpected results i.e. if I synchronize 
transformations across the threads (synchronize on the template instance) 
I have no issues.  I'm quite sure I'm doing something wrong here but 
haven't found the answer.

I packaged up the test in a maven2 project (
http://milyn.codehaus.org/xalan/xalan-test.zip).  If you run the junit 
test from the download you'll not see any errors because the transform 
step is synchronized on the template instance (XsltConcurrentTest.java, 
line 168).  If you remove the synchronization, you start getting errors.

My understanding was that I should be able to load a stylesheet into a 
single instance of javax.xml.transform.Templates and then, on each Thread, 
create and use new Transformer instance through a call to 
Templates.newTransformer().transform(...).  Is this wrong??

Environment:
Windows XP
jdk1.5.0_10
Xalan 2.7.0
Xerces 2.7.1
xml-apis 1.3.02
I have taken a look around for an answer to this, but I fear that it may 
be something silly I'm doing, so I apologize in advance :-[ 

Regards,

Tom.

Reply via email to