Re: Help with java.lang.IllegalStateException: Cannot change buffer size after data has been written

2014-07-24 Thread Felipe Jaekel
The 64K buffer didn't worked.

Any other idea?

Thanks


2014-07-16 11:33 GMT-03:00 Howard W. Smith, Jr. smithh032...@gmail.com:

 On Wed, Jul 16, 2014 at 7:52 AM, Felipe Jaekel fkjae...@gmail.com wrote:

  Not sure if this is this a MyFaces issue, but as I don't remember having
 it
  when my projects were running with with Mojarra, I'd like to see if you
 can
  help me.
 
  I'm eventually seeing this exception in my Tomcat 7.0.47 log:
 
  java.lang.IllegalStateException: Cannot change buffer size after data
  has been written
  at
 
 org.apache.catalina.connector.ResponseFacade.setBufferSize(ResponseFacade.java:254)
 

 Felipe,

 I think I saw that error long time ago and I discussed with BalusC on/via
 OmniFaces google-code project's issue tracker.

 anyway, I think it was caused by the largest XHTML page in my app, which
 has hundreds of UI components (input/, etc...).

 Below, is what I saved in my web.xml per that discussion with BalusC.


 !--
 http://code.google.com/p/omnifaces/issues/detail?id=73
 Comment 25 by project member balusc, Today (11 minutes ago)
 Just keep GZIP filter threshold size default. It has not the same
 meaning as Facelets buffer size.

 A large Facelets buffer size may be useful during development, to spot
 any bugs in the view which causes exceptions during render response. But I
 would not set it that large in production.

 http://code.google.com/p/omnifaces/issues/detail?id=51
 It's technically not possible to change the response when it has
 already been committed.
 So if an exception occurs during rendering the response and the
 response has already been committed,
 then you'll end up with a broken response. In most default
 servletcontainer/webapp configurations,
 the response get committed when 2KB has already been written to the
 response.

 One of the ways to avoid this is to increase the response buffer size.
 In Facelets,
 you can do this using the following context parameter (which sets it to
 64KB, you may
 if necessary need to adjust it to the size of the largest HTML output
 you have):

 context-param
 param-namejavax.faces.FACELETS_BUFFER_SIZE/param-name
 param-value65535/param-value
 /context-param

 Setting to 800KB, since /orders/pf_Add.xhtml (640+ KB) is the largest
 view;
 if this is not set, then OmniFaces 1.2 (OmniPartialViewContext) breaks
 pf_BrowsePayroll.xhtml,
 see OmniFaces issue 73 (URL above)
 context-param
 param-namejavax.faces.FACELETS_BUFFER_SIZE/param-name
 param-value819200/param-value
 /context-param
 --
 context-param
 param-namejavax.faces.FACELETS_BUFFER_SIZE/param-name
 param-value65535/param-value
 /context-param



Re: Help with java.lang.IllegalStateException: Cannot change buffer size after data has been written

2014-07-24 Thread Howard W. Smith, Jr.
how large is your page? maybe you need a larger buffer.



On Thu, Jul 24, 2014 at 3:39 PM, Felipe Jaekel fkjae...@gmail.com wrote:

 The 64K buffer didn't worked.

 Any other idea?

 Thanks


 2014-07-16 11:33 GMT-03:00 Howard W. Smith, Jr. smithh032...@gmail.com:

  On Wed, Jul 16, 2014 at 7:52 AM, Felipe Jaekel fkjae...@gmail.com
 wrote:
 
   Not sure if this is this a MyFaces issue, but as I don't remember
 having
  it
   when my projects were running with with Mojarra, I'd like to see if you
  can
   help me.
  
   I'm eventually seeing this exception in my Tomcat 7.0.47 log:
  
   java.lang.IllegalStateException: Cannot change buffer size after data
   has been written
   at
  
 
 org.apache.catalina.connector.ResponseFacade.setBufferSize(ResponseFacade.java:254)
  
 
  Felipe,
 
  I think I saw that error long time ago and I discussed with BalusC on/via
  OmniFaces google-code project's issue tracker.
 
  anyway, I think it was caused by the largest XHTML page in my app, which
  has hundreds of UI components (input/, etc...).
 
  Below, is what I saved in my web.xml per that discussion with BalusC.
 
 
  !--
  http://code.google.com/p/omnifaces/issues/detail?id=73
  Comment 25 by project member balusc, Today (11 minutes ago)
  Just keep GZIP filter threshold size default. It has not the same
  meaning as Facelets buffer size.
 
  A large Facelets buffer size may be useful during development, to
 spot
  any bugs in the view which causes exceptions during render response. But
 I
  would not set it that large in production.
 
  http://code.google.com/p/omnifaces/issues/detail?id=51
  It's technically not possible to change the response when it has
  already been committed.
  So if an exception occurs during rendering the response and the
  response has already been committed,
  then you'll end up with a broken response. In most default
  servletcontainer/webapp configurations,
  the response get committed when 2KB has already been written to the
  response.
 
  One of the ways to avoid this is to increase the response buffer
 size.
  In Facelets,
  you can do this using the following context parameter (which sets it
 to
  64KB, you may
  if necessary need to adjust it to the size of the largest HTML output
  you have):
 
  context-param
  param-namejavax.faces.FACELETS_BUFFER_SIZE/param-name
  param-value65535/param-value
  /context-param
 
  Setting to 800KB, since /orders/pf_Add.xhtml (640+ KB) is the largest
  view;
  if this is not set, then OmniFaces 1.2 (OmniPartialViewContext)
 breaks
  pf_BrowsePayroll.xhtml,
  see OmniFaces issue 73 (URL above)
  context-param
  param-namejavax.faces.FACELETS_BUFFER_SIZE/param-name
  param-value819200/param-value
  /context-param
  --
  context-param
  param-namejavax.faces.FACELETS_BUFFER_SIZE/param-name
  param-value65535/param-value
  /context-param