Thats not the only problem. I get problems when loading an image when
multithreaded. As previously posted.
If I could build the darn thing, I might look into fixing it.
[INFO]: Parsing of document complete, stopping renderer
---------
08/Apr/2002 12:06:50 GMT+01:00 : Warning
[null/com.chase.gmcc.base.xml.XMLUtility.renderFO(String, Document)]: Problem -
reason: [null]
org.apache.fop.apps.FOPException
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.<init>(Throwable.java:94)
at java.lang.Exception.<init>(Exception.java:42)
at org.apache.fop.apps.FOPException.<init>(FOPException.java:32)
at org.apache.fop.apps.Driver.render(Driver.java:486)
at org.apache.fop.apps.Driver.run(Driver.java:554)
at com.chase.gmcc.base.xml.XMLUtility.renderFO(XMLUtility.java:323)
at com.chase.gmcc.base.xml.XMLUtility.renderFO(XMLUtility.java:293)
at Test$1$MultiThreadedObjectProcessor.process(Test.java:31)
at
com.chase.gmcc.base.utility.AbstractMultiThreadedObjectProcessor$ProcessorThread.run(AbstractMultiThreadedObjectProcessor.java:81)
---------
java.lang.NullPointerException
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.<init>(Throwable.java:82)
at java.lang.Exception.<init>(Exception.java:33)
at org.xml.sax.SAXException.<init>(SAXException.java:61)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:965)
at org.apache.fop.apps.Driver.render(Driver.java:481)
at org.apache.fop.apps.Driver.run(Driver.java:554)
at com.chase.gmcc.base.xml.XMLUtility.renderFO(XMLUtility.java:323)
at com.chase.gmcc.base.xml.XMLUtility.renderFO(XMLUtility.java:293)
at Test$1$MultiThreadedObjectProcessor.process(Test.java:31)
at
com.chase.gmcc.base.utility.AbstractMultiThreadedObjectProcessor$ProcessorThread.run(AbstractMultiThreadedObjectProcessor.java:81)
java.lang.NullPointerException
at org.apache.fop.image.GifImage.loadImage(GifImage.java:137)
at org.apache.fop.image.AbstractFopImage.getBitmaps(AbstractFopImage.java:231)
at org.apache.fop.pdf.PDFXObject.output(PDFXObject.java:163)
at org.apache.fop.pdf.PDFDocument.output(PDFDocument.java:1202)
at org.apache.fop.render.pdf.PDFRenderer.render(PDFRenderer.java:708)
at org.apache.fop.apps.StreamRenderer.processQueue(StreamRenderer.java:249)
at org.apache.fop.apps.StreamRenderer.addToRenderQueue(StreamRenderer.java:234)
at org.apache.fop.apps.StreamRenderer.queuePage(StreamRenderer.java:219)
at org.apache.fop.layout.AreaTree.addPage(AreaTree.java:81)
at org.apache.fop.fo.pagination.PageSequence.format(PageSequence.java:307)
at org.apache.fop.apps.StreamRenderer.render(StreamRenderer.java:200)
at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:182)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1398)
at
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1019)
at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1256)
at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
at org.apache.fop.apps.Driver.render(Driver.java:481)
at org.apache.fop.apps.Driver.run(Driver.java:554)
at com.chase.gmcc.base.xml.XMLUtility.renderFO(XMLUtility.java:323)
at com.chase.gmcc.base.xml.XMLUtility.renderFO(XMLUtility.java:293)
at Test$1$MultiThreadedObjectProcessor.process(Test.java:31)
at
com.chase.gmcc.base.utility.AbstractMultiThreadedObjectProcessor$ProcessorThread.run(AbstractMultiThreadedObjectProcessor.java:81)
Regards
Paul.
"David B. Bitton" <[EMAIL PROTECTED]> on 05/04/2002 00:31:38
Please respond to [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
cc:
Subject: Re: Multithreaded failure
I moved the creation (and destruction) of the Driver object inside the
method. Also I had forgotten that in Apache SOAP, you can control object
lifetime. So I changed it from Application to Request, so now each request
gets a fresh instance of my class.
This works, but I'm not happy with it. My question is this, if I have a
Driver object as a global inside my class, will it be trounced by another
instance running in a different thread?
--
David B. Bitton
[EMAIL PROTECTED]
www.codenoevil.com
Code Made Fresh DailyT
----- Original Message -----
From: "Scott Moore" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, April 04, 2002 5:23 PM
Subject: RE: Multithreaded failure
>
> Upon init (once in the servlet)
>
> // Gotta configure FOP to know where the base directory is.
Otherwise
> // it will generate errors. Add a trailing slash so we can use
relative
> // paths in our XSL.
> org.apache.fop.configuration.Configuration.put("baseDir", "file:" +
dir
> + File.separator);
> org.apache.fop.configuration.Configuration.put("strokeSVGText", new
> Boolean(false));
>
>
>
> Done for every report request:
>
>
> public static void createPDF(Document xslfo,
> OutputStream pdf)
> throws IOException, FOPException
> {
> Driver driver = new Driver(new DocumentInputSource(xslfo), pdf);
>
> Hierarchy hierarchy = Hierarchy.getDefaultHierarchy();
> Logger log = hierarchy.getLoggerFor("fop");
> if (debugMode)
> {
> log.setPriority(Priority.DEBUG);
> }
> else
> {
> log.setPriority(Priority.FATAL_ERROR);
> }
> driver.setLogger(log);
> driver.setRenderer(Driver.RENDER_PDF);
> driver.run();
> pdf.flush();
> }
>
>
>
> HTH,
> Scott
>
> -----Original Message-----
> From: David B. Bitton [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, April 04, 2002 4:58 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Multithreaded failure
>
>
> Simply because it is at the top of my SOAP method. I don't think that
there
> is an init() called on a SOAP class. Also, do you instantiate a new
Driver
> object for every call to the servlet? I'd appreciate if you could share
> some code. Thanks.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]