tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Tomcat Wiki] Update of "FAQ/KnownIssues" by Jörgen Rydenius
Date Mon, 20 Feb 2012 08:38:36 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change notification.

The "FAQ/KnownIssues" page has been changed by Jörgen Rydenius:

Added a small comment about PD4ML, see reference in

  An alternative would be to write the Image contents to a ByteArrayOutputStream, and using
its writeTo() method to write the contents to the Servlet's Response. However that would require
some additional memory, as the contents have to be buffered.
+ '''Are there any other corresponding cases of this bug?'''
+ The PDF generating software module PD4ML has had a corresponding problem when calling the
render() methods in class org.zefer.pd4ml.PD4ML with response.getOutputStream() as argument.
That causes the response stream to be closed from a finalizer() method of a class called PD4Device.
When using an Apache/Tomcat connector, this unexpected stream close from the finalizer thread
has occationally caused responses to be sent to wrong requestor (request/response mix up).
The workarounds described above for ImageIO works perfectly in this case too. A general way
to protect the response output streams from misbehaving web applications is to set the system
property org.apache.catalina.connector.RECYCLE_FACADES=true, since that makes Tomcat create
new stream instances for each request (of course at the cost of performance).
+ <<BR>>
+ <<BR>>
+ PD4ML has fixed this bug in their latest releases, but sites using older versions of the
library can still be affected.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message