查看有关mojarra的过期问题

时间:2013-02-22 13:30:08

标签: java jsf mojarra

我有一个大的richfaces树,可以选择树中的每个元素,通过AJAX加载内容并进行编辑,将您重定向到新页面。这个工作很有效,直到我有一份特别大的文件,我正在努力并且不再保存。您已重定向到显示正确内容的编辑页面,但尝试“保存”任何编辑都会导致ViewExpiredException。

我尝试调整了很多参数,最终找到了两个修复它的参数:

com.sun.faces.numberOfViewsInSession
com.sun.faces.numberOfLogicalViews

据我所知,每个的默认值是15,我将它们设置为荒谬的500并且应用程序再次运行。不幸的是因为我不知道问题出在哪里,这是一个很大的应用程序,我无法向您展示任何相关的代码。

但问题是:这些参数究竟做了什么,是什么原因导致我遇到这些例外以及什么是可接受的值?

更新

我不完全确定为什么这个问题被推翻了,但如果是关于所谓的重复:我发现通过谷歌发布但它提供的链接已经死了。除了参数的沼泽标准(和模糊)定义外,似乎没有太多关于它们的信息。

1 个答案:

答案 0 :(得分:1)

当使用服务器端状态保存(默认)时,可以使用这两个参数来配置逻辑视图和实际视图的最大数量。

逻辑视图是在每个GET请求上创建的顶级视图(例如,当您在新浏览器窗口或选项卡中打开页面时,在浏览器的地址栏中输入地址,iframe ...)。每个逻辑视图可以包含一些相关的实际视图。实际视图是在用户使用标准JSF机制浏览您的页面时创建的(例如,如果您导航到actioncommandButton方法返回的页面)。两个视图队列都使用LRU算法来决定何时删除视图,并且这些队列的最大数量受这两个参数值的限制。

因此,com.sun.faces.numberOfViewsInSession定义了每个逻辑视图在会话中存储的最大JSF视图数,com.sun.faces.numberOfLogicalViews定义了每个会话存储的最大逻辑视图数。

根据您提供的信息,您怀疑com.sun.faces.numberOfViewsInSession的配置解决了您的问题,但您必须进一步调查为何会创建如此多的观看次数。

其他链接: