2015-04-07 108 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