I am testing SimpleXSLTServlet on a SilverStream 3.75 application server. The first time the servlet is run it takes nearly 18 minutes (not seconds). After the first run, execution times are less then half a second. I don’t see this delay running the same servlet in Tomcat 4.1. Below I’ve included the code I’m using – does anyone know why this could be taking so long?

 

TIA,

Tom

 

            long start = System.currentTimeMillis();

// The servlet returns HTML.

            res.setContentType("text/html; charset=UTF-8");   

            // Output goes in the response stream.

            PrintWriter out = res.getWriter();

            try

            {          

                        TransformerFactory tFactory = TransformerFactory.newInstance();

                        // Get the XML input document and the stylesheet.

                        Source xmlSource = new StreamSource(new URL("file", "", "..//Resources//StyleSheets//birds.xml").openStream());

                        Source xslSource = new StreamSource(new URL("file", "", "..//Resources//StyleSheets//birds.xsl").openStream());

                        // Generate the transformer.

                        Transformer transformer = tFactory.newTransformer(xslSource);

                        // Perform the transformation, sending the output to the response.

                        transformer.transform(xmlSource, new StreamResult(out));

                }

                catch (Exception e)

                {

                        out.write(e.getMessage());

                        e.printStackTrace(out);   

                }

                out.close();

                System.out.println("Time elapsed: " + (System.currentTimeMillis() - start));  //typical output on first run - 1118617

                return;                                                                                                     //afterwards - 400-500

Reply via email to