【问题标题】:Keeping Session and Conversation alive in Seam在 Seam 中保持会话和对话的活力
【发布时间】:2011-03-09 05:19:51
【问题描述】:

我对 Seam 中处理会话和对话的方式有疑问。我们有一些相当长的表格,大部分时间你开始填写第一个屏幕,然后在后台执行一些操作,用户离开计算机做一些工作,然后他们回来并注释工作。

问题是大部分时间会话超时或对话超时。虽然第二个问题可以通过拆分工作流轻松解决,但第一个更重要,因为用户必须重新登录,导航到右侧屏幕,然后才能输入注释。

是否有一种简单的方法可以让 Ajax 的 sn-p 触发后台会话的刷新。这将允许我们无限期地保持会话。

还有一种简单的方法可以让对话保持活力吗?

【问题讨论】:

    标签: ajax jboss seam seam-conversation


    【解决方案1】:

    您在使用 RichFaces 吗?我们使用这样的东西来保持会话活跃。

    <a4j:poll interval="10000" reRender="form1" action="#{logger.userIsAlive}" /> 
    

    “action”属性是可选的,我们用它来记录连接的用户。我们不使用对话,但我想说这也可以让对话保持活力。

    如果您不使用 RichFaces,则可以使用 JQuery 等 AJAX 框架通过调用 Servlet 来 ping 服务器。

    【讨论】:

    • 我遇到了一些问题,因为我还必须将它包装在
      中(我的错,没有阅读足够好的文档)。但现在它就像一个魅力。我没有想到的唯一问题是,当 ping 服务器并且用户单击链接时,它会引发并发调用对话错误,这非常难看,在不禁用所有链接的情况下避免这种情况的任何机会?
    • 最简单的方法是将“eventsQueue”属性添加到a4j标签。您还可以配置一个全局队列,查看 RichFaces 文档。 docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/…
    • 我用一个简单的 Servlet 修复了它,该 Servlet 打开并立即再次关闭对话。但我想你的解决方案也很好,所以你得到了这个:D
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多