Re: [Resin-interest] java.io.IOException: can't clear response after writing headers

2010-08-30 Thread Aaron Freeman
  This is unrelated, but worth mentioning to other people converting 
over from Resin 3.0.x:

We had this problem when converting over from Resin 3.0.x.:   The 
problem is that Resin 4.0.x now outputs white space in each iteration of 
c:forEach .../c:forEach loops, and other places where Resin 3.0.x 
did not.  That causes problems with Resin 3.0.x and older code that has 
c:redirect, sendRedirect, jsp:forward, response.reset(), and any other 
calls that rely on the response not being committed.   The reason is 
that the buffer used to cache up a response prior to writing out to 
response's outputStream can fill up very quickly compared with earlier 
versions and causes the response to commit very fast (with a ton of 
white space to boot).

The fix is, if you are doing jsp:include page= with loops in it, to do:

c:import url= var=debug .. /c:import

instead.  Instead of the output being dumped directly to response's 
output buffer, the white space will go to a variable that you can ignore 
(and comes in handy a development environment).

If you are not including/importing anything and have a bunch of 
c:forEach in your code prior to your redirect/clear/reset, try 
throwing those in a second JSP and doing a c:import .. var=debug in 
order to trap the white space.

This way your response.buffer won't commit prematurely and you can still 
do redirects/resets.

I know this is unrelated but we had issues with it, and I thought I 
would post it for others searching for redirect/clear/reset issues.

Aaron


On 8/30/2010 10:33 AM, Morawetz, Martin wrote:
 wMorawetz, Martin wrote:
 Hi all,

 Some JSPs produce following error Stacktrace in our Java-log:

 java.io.IOException: can't clear response after writing headers

 at
 com.caucho.server.http.ResponseStream.clear(ResponseStream.java:233)
 at

 com.caucho.server.http.HttpServletResponseImpl.getOutputStream(HttpServ
 letResponseImpl.java:137)
 :

 :

 The Exception gets thrown at the line

 sosOut = response.getOutputStream();

 This code work on all other resin installations (for years now)

 The only difference to our other resin installations that I'm aware
 of,
 is that resin and apache are on two separate machines now.

 We use Resin Pro 4.0.9.

 Any ideas what might cause this exception?

 Resin is being more strict about conforming to the servlet/JSP spec.

 Is there an output flush() anywhere before that clear()?

 -- Scott
 Yes there is, and removing the out.flush() resolves the issue.
 Was that 'being more strict' a recent change? The same code
 works on a different server with Resin 4.0.0 installed.

 Regards, Martin

 The information in this e-mail and in any attachments is confidential and 
 intended solely
 for the attention and use of the named addressee(s). This information may be 
 subject to legal,
 professional or other privilege and further distribution of it is strictly 
 prohibited without
 our authority. If you are not the intended recipient, you are not authorised 
 to and must not
 disclose, copy, distribute, or retain this message or any part of it, and 
 should notify us
 immediately.

 This footnote also confirms that this email has been automatically scanned 
 for the presence
 of computer viruses, profanities and certain file types.



 ___
 resin-interest mailing list
 resin-interest@caucho.com
 http://maillist.caucho.com/mailman/listinfo/resin-interest





___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


Re: [Resin-interest] java.io.IOException: can't clear response after writing headers

2010-08-30 Thread Scott Ferguson
Morawetz, Martin wrote:

 Resin is being more strict about conforming to the servlet/JSP spec.

 Is there an output flush() anywhere before that clear()?

 -- Scott
 

 Yes there is, and removing the out.flush() resolves the issue.
 Was that 'being more strict' a recent change? The same code
 works on a different server with Resin 4.0.0 installed.
   
We passed the Servlet 3.0 TCK in 4.0.4, so the change would have 
happened before then.

-- Scott

 Regards, Martin

 The information in this e-mail and in any attachments is confidential and 
 intended solely 
 for the attention and use of the named addressee(s). This information may be 
 subject to legal, 
 professional or other privilege and further distribution of it is strictly 
 prohibited without 
 our authority. If you are not the intended recipient, you are not authorised 
 to and must not 
 disclose, copy, distribute, or retain this message or any part of it, and 
 should notify us 
 immediately.

 This footnote also confirms that this email has been automatically scanned 
 for the presence 
 of computer viruses, profanities and certain file types.



 ___
 resin-interest mailing list
 resin-interest@caucho.com
 http://maillist.caucho.com/mailman/listinfo/resin-interest

   



___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


[Resin-interest] java.io.IOException: can't clear response after writing headers

2010-08-26 Thread Morawetz, Martin
Hi all,

Some JSPs produce following error Stacktrace in our Java-log:

java.io.IOException: can't clear response after writing headers
at
com.caucho.server.http.ResponseStream.clear(ResponseStream.java:233)
at
com.caucho.server.http.HttpServletResponseImpl.getOutputStream(HttpServl
etResponseImpl.java:137)
   :
   :

The Exception gets thrown at the line

sosOut = response.getOutputStream();

This code work on all other resin installations (for years now)

The only difference to our other resin installations that I'm aware of,
is that resin and apache are on two separate machines now.

We use Resin Pro 4.0.9.

Any ideas what might cause this exception?

Regards,
Martin
The information in this e-mail and in any attachments is confidential and 
intended solely 
for the attention and use of the named addressee(s). This information may be 
subject to legal, 
professional or other privilege and further distribution of it is strictly 
prohibited without 
our authority. If you are not the intended recipient, you are not authorised to 
and must not 
disclose, copy, distribute, or retain this message or any part of it, and 
should notify us 
immediately.

This footnote also confirms that this email has been automatically scanned for 
the presence 
of computer viruses, profanities and certain file types.
___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest