I want to cache an instance of a Transformer (e.g. using
Templates.newTransformer()) in the application scope of a web
application (multi-threaded). Is there any synchronization
problem with this approach (using Saxon)?
A Transformer represents an individual transformation and holds the working
data specific to that transformation, so it must not be used to run multiple
transformations at the same time. A Transformer is serially reusable (you
can start one transformation after finishing another in the same thread). If
you do that then the document pool (the set of documents loaded by the
document() function) is going to be reused, which may or may not be the
right thing to do - if successive transformations are unlikely to load the
documents then it's better to clear them out, to save the memory they
occupy.
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--