2015-04-07 113 views
0

当用户正在对开放式办公(字母编辑工具)弹出,应用屏幕显示超时如何保持会话活着

初步分析 如果用户在开放式办公室工作了超过60分钟 - 服务器没有刷新延长会话(会话活动背后)

我们在web.xml中有空闲时间设置

请帮我解决如何保持会话活着。

回答

0

我在过去曾使用过保存活动请求解决方案。基本上,你设置的JavaScript超时时间要比会话超时长一些,通常会话超时的一半到四分之三。当JavaScript超时触发对参与会话的服务器上的控制器发出ajax请求时。这将使服务器认为您仍处于活动状态,并应通过重置它来保持服务器会话的活动状态。

此外,当您收到ajax响应以再次启动定时器时,您需要重置JavaScript超时。 PS:你并不需要在后端控制器中做任何事情,你只是为了让它保持活跃状态​​而使用会话。

0

你可以在web.xml中使用-1,而不是60:

<session-config> 
    <session-timeout>-1</session-timeout> 
</session-config> 

,如果你不想增加会话超时,那么你可以找到变通方法为:

运行您的任务在专用线程中,在工作时触及(扩展)会话,或在线程完成时通知用户

+1

这使所有会话永不过期,这是一个非常糟糕的主意,特别是如果您实际上将数据存储在会话中。 – cjstehno

+0

@cjstehno:那么在这种情况下,我们可以创建一个观察者任务,在30分钟后ping通以保持会话活着。 – Prashant

+0

在我的答案? – cjstehno