Wicket 应用程序序列化并缓存所有页面以支持有状态组件,以及支持后退按钮,以及其他可能的原因。我有一个使用 setResponsePage 在屏幕之间导航的应用程序。在很短的时间内,会话就会变得相当大,因为所有先前的页面都存储在会话中。在大多数情况下,出于显而易见的原因,我只需要会话包含当前页面,也许还需要包含最后 2 或 3 个页面,以便使用浏览器的后退按钮轻松导航。
在我离开某个页面并且我知道我不想使用返回按钮返回该页面版本后,我可以强制该页面过期吗?更一般地说,处理 Wicket 中的会话增长的推荐方法是什么?
http://apache-wicket.1842946.n4.nabble.com/Wicket-Session-grows-too-big-real-fast-td1875816.html http://apache-wicket.1842946.n4.nabble.com/Wicket-Session-grows-too-big-real-fast-td1875816.html
如果您在页面上使用大量域对象,这些域对象最终与其他域对象紧密耦合,请务必避免对这些域对象进行序列化!
看一下
用于包装领域对象的 LoadableDetachableModel
用于显示域对象列表的 DataView 和 IDataProvider
你不应该将域对象填充到组件的实例变量中。
为了在匿名子类中使用它们,您不应将域对象引用设置为最终引用。
您不应将域对象的单纯列表传递给 ListView。
也许,当在您的 Application 类中子类化 WbeRequestCycle 时,您可能会在页面映射中获得对页面生命周期的控制...但还没有尝试过
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)