Hi Tom, I couldn't reproduce the problem using Stream and Xalan 2.7.0 but I could reproduce it using DOM. Are you on a multiprocessor machine or a single processor machine?
Thanks. Erin Harris Tom Fennelly <[EMAIL PROTECTED]> 27/02/2007 10:23 AM To Erin Harris/Toronto/[EMAIL PROTECTED] cc xalan-j-users@xml.apache.org Subject Re: Templates/Transformers + thread safety??? Thanks Erin. I've updated that test download to include testing against stream source/result instances. Still getting unexpected results on these (stream source/result) when not synschronizing on the template instance. Zip available at http://milyn.codehaus.org/xalan/xalan-test-v2.zip (zip also includes the milyn jar). Thanks again Erin. Regards, Tom. Erin Harris wrote: > > 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.