  | |  | Templates/Transformers + thread safety??? | Templates/Transformers + thread safety??? 2007-02-27 - By Erin Harris
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 <tom.fennelly@(protected)> 26/02/2007 02:29 PM
To xalan-j-users@(protected) 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.
<br><font size=2 face="sans-serif">Hi Tom,</font> <br> <br><font size=2 face="sans-serif">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?</font> <br> <br><font size=2 face="sans-serif">Thanks.</font> <br><font size=2 face="sans-serif"><br> <br> Erin Harris<br> <br> </font> <br> <br> <br> <table width=100%> <tr valign=top> <td width=40%><font size=1 face="sans-serif"><b>Tom Fennelly <tom.fennelly @(protected)></b> </font> <p><font size=1 face="sans-serif">26/02/2007 02:29 PM</font> <td width=59%> <table width=100%> <tr valign=top> <td> <div align=right><font size=1 face="sans-serif">To</font></div> <td><font size=1 face="sans-serif">xalan-j-users@(protected)</font> <tr valign=top> <td> <div align=right><font size=1 face="sans-serif">cc</font></div> <td> <tr valign=top> <td> <div align=right><font size=1 face="sans-serif">Subject</font></div> <td><font size=1 face="sans-serif">Templates/Transformers + thread safety???< /font></table> <br> <table> <tr valign=top> <td> <td></table> <br></table> <br> <br> <br><font size=3>Hi.<br> <br> 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.<br> <br> I packaged up the test in a maven2 project (</font><a href="http://milyn .codehaus.org/xalan/xalan-test.zip"><font size=3 color=blue><u>http://milyn .codehaus.org/xalan/xalan-test.zip</u></font></a><font size=3>). 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. <br> <br> 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??<br> <br> Environment:</font> <ul> <li><font size=3>Windows XP</font> <li><font size=3>jdk1.5.0_10</font> <li><font size=3>Xalan 2.7.0</font> <li><font size=3>Xerces 2.7.1</font> <li><font size=3>xml-apis 1.3.02</font></ul><font size=3>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 :-[ <br> <br> Regards,<br> <br> Tom.</font> <br>
|
|
 |