I have a web application (thus multi threaded) where people can
request a xml document in PDF or RTF. The document contains a PNG

A web request for rendering into a PDF is always successful. A web
request for rendering into a RTF is (most of the time) not successful,
when a PDF was already requested for that same document. Rendering
into a RTF is successful when no PDF was requested yet.

I solved the problem calling imageFactory.clearCaches(), which you
strongly advise not to call in the documentation. I force the
re-reading of the PNG-file in that way, isn't it?

I read a bit in the mailing lists and found similar messages, but the
Java Exception I get is

1/Fev/2007 20:50:34 org.apache.fop.render.rtf.RTFHandler image
SEVERE: Error while handling an external-graphic: null
       at org.apache.fop.image.PNGImage.loadOriginalData(PNGImage.java:74)
       at org.apache.fop.image.AbstractFopImage.load(AbstractFopImage.java:174)
       at org.apache.fop.render.rtf.RTFHandler.image(RTFHandler.java:1131)

which is different form the exceptions I have seen in the mailing lists.

I have the feeling that the image cache doesn't properly reuse the
image (maybe because of the multi threaded environment), holds a lock
on the PNG file and therefore doesn't allow that file to be re-read.

Any ideas or solutions?


Reply via email to