Re: [xsl] Asynchronous transformation in a (Java) Web app

Subject: Re: [xsl] Asynchronous transformation in a (Java) Web app
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Sat, 11 Sep 2010 16:08:44 +0100
On 11 September 2010 15:02, Martynas Jusevicius
<martynas.jusevicius@xxxxxxxxx> wrote:
> Hey list,
>
> while asynchronous processing is a broad subject, I hope my question
> is not off-topic as it applies directly to XSLT.
>
> The scenario is pretty simple, and I guess not uncommon: user uploads
> a (potentially heavy) file, then XSLT transformation(s) process it,
> and the result is presented back to the user. The program runs as a
> Java Servlet web application.
>
> The problem is, that the transformations can take quite some time, up
> to one minute for example. Therefore I started looking into ways of
> running them asynchronously, not blocking the servlet and presenting
> the result later.
> I guess I need some kind of thread-based subsystem to run and
> transform in the background, but my knowledge ends pretty much there.
>
> Any advice on approaches/techniques or specific tools/libraries would
> be appreciated.

In JAXP, the TransformerFactory and the compiled stylesheet (the
"Templates" object) are both thread safe, but the Transformer is not.
So for each request create a new thread passing in the source, the
TransformerFactory, the Templates object and the response writer, then
create the Transformer in the thread and run the transform (although
its been a while since did any coding at the servlet level...
hopefully that's a point in the right direction).



-- 
Andrew Welch
http://andrewjwelch.com

Current Thread