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.

Reply via email to