FACELETS_BUFFER_SIZE的意义?

问题描述 投票:3回答:1

我正在使用Mojarra 2.1.13和Primefaces 3.5开发一个非常大的JSF应用程序。最近,我遇到了获取java.lang.IllegalStateException: Cannot create a session after the response has been committed异常的问题。我通过在FACELETS_BUFFER_SIZE中使用context-param增加web.xml来清除它。尽管我不再遇到这种异常,但我对此有一些疑问:

  1. 在JSF应用程序中FACELETS_BUFFER_SIZE设置有多重要?
  2. 是否会影响应用程序的性能(我想避免任何对此有惊喜/问题)在性能方面是否有优点和缺点?
  3. 如果将其设置为大于/小于我的应用程序的大小会发生什么要求?
  4. 如何找到最佳FACELETS_BUFFER_SIZE为我的应用程序?
jsf primefaces
1个回答
0
投票

FACELETS_BUFFER_SIZE表示缓冲区(例如,本例中为表格)可以达到的最大字节数。仅当PROJECT_STAGE设置为Development时,才需要在web.xml中进行设置。

PROJECT_STAGE设置为生产时,无需设置FACELETS_BUFFER_SIZE,并且可以保留其默认设置(-1)。在开发中设置FACELETS_BUFFER_SIZE可以防止数据丢失或无法正确记录甚至根本无法记录的错误。

将此参数设置为Development可以得到更好的错误消息,包括在客户端JavaScript中,但会降低性能。

同时将此参数设置为生产会关闭一些错误消息,并强调性能。

FACELETS_BUFFER_SIZE设置为开发时在PROJECT_STAGE中设置的值(字节)应大于最重页面的最大大小。您可以看到,如果您在firefox中打开应用程序,请在空白处单击鼠标右键,然后单击“查看页面信息”,此处显示当前页面大小。

© www.soinside.com 2019 - 2024. All rights reserved.