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.