注意:我在这里有一个相关的问题(http://stackoverflow.com/questions/6915055/are-jsf-views-shared-between-users),但这涉及其他一些问题,所以我创建了这个一个专注于更具体的领域。
我正在使用RichFaces(并且在过去的几周里,对它的实现,对象分配,内存占用以及那些性质的东西有了更好的感觉)以及JSR-168 Portlet,并且我遇到了可扩展性问题。鉴于我的大多数页面(也称为视图)与用户无关(它们是只读的,并且大部分都是用户社区的通用),我想强制RichFaces框架创建单个视图(#of逻辑视图和会话在web.xml中设置为1,在会话中共享。
换句话说,我不希望每个会话超过1个视图(很容易,通过web.xml中提到的配置参数完成)但更重要的是,我不想要超过1个视图(相同的基础视图定义)甚至跨会话。
现在,要完成这项工作需要什么?
答案 0 :(得分:0)
我想出了这个。我扩展了JBoss Portlet Bridge和JSF StateHolder类(以及其他内容),并且有一个自定义实现,允许我跨用户会话共享JSF视图(同样,这些视图是只读的,对用户社区是通用的)。那些特定于会话的,我只是让那些采取默认行为。这有助于将JSF对整个会话大小(在内存方面)的贡献减少一半。