在Seam中保持会话和对话
问题描述:
我在Seam中处理会话和会话的方式有问题。我们有一些相当长的表单,其中大部分时间你开始填写第一个屏幕,然后一些动作在后台执行,用户离开计算机做一些工作,然后他们回来并注释工作。在Seam中保持会话和对话
问题是,大部分时间会话超时或对话超时。虽然可以通过拆分工作流程轻松修复第二个,但第一个更重要,因为用户必须重新登录,导航到右侧屏幕,然后才可以输入注释。
是否有一个简单的方法来创建一个会触发后台刷新会话的Ajax代码片段。这将使我们能够保持会议无限期地活着。
也有一个简单的方法来保持对话活着吗?
答
您使用的是RichFaces吗?我们使用类似的东西来保持会话的活跃。
<a4j:poll interval="10000" reRender="form1" action="#{logger.userIsAlive}" />
“action”属性是可选的,我们用它来记录连接的用户。我们不会使用对话,但我会说这也会让对话保持活跃。
如果您不使用RichFaces,那么您可以使用AJAX框架(如JQuery)通过调用Servlet来ping服务器。
我有一些问题,因为我不得不把它包装在 和
(我的坏,没有阅读文件不够好)。但现在它像一个魅力。 唯一我没有想到的问题是,当最简单的方法是将“eventsQueue”属性添加到a4j标签。还有一个可配置的全局队列,请查看RichFaces文档。 http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/ArchitectureOverview.html#QueueandTrafficFloodProtection – germanescobar 2010-07-08 20:18:59
我用一个简单的Servlet修复了它,它打开并立即关闭对话。但我想你的解决方案也很好,所以你得到这个:D – cdecker 2011-01-17 22:09:59