我正在開發一個vaadin web應用程序,並且在我的web.xml中添加了下面的代碼片段。會話超時不起作用vaadin
<session-config>
<session-timeout>30</session-timeout>
</session-config>
現在我注意到也30分鐘後我的用戶能夠使用appllication,我不想這樣。我在vaadin的書上讀到了一些關於這個問題的文章,但我不想解釋一些東西。
從vaadin書:
會話超時後,用戶不活躍
在正常的servlet操作,會話超時定義允許 時間不活動後,服務器應清理的會話。 不活動是從最後一次服務器請求開始測量的。不同的 servlet容器對超時使用不同的默認值,例如Apache Tomcat的30分鐘 分鐘。
在web.xml中:您可以 下設置超時
<session-config> <session-timeout>30</session-timeout> </session-config>
會話超時應長於心跳間隔或 否則會話關閉心跳,然後才能讓他們活着 。由於會話到期會使UI處於 假定會話仍然存在的狀態,這會在瀏覽器中導致出現錯誤通知 。
但是,如果心跳間隔比會話超時短 (通常情況下)會阻止會話過期。如果servlet的closeIdleSessions參數已啓用(由 默認值禁用),則在session-timeout參數中指定的時間 在最後一次 非心跳請求之後到期之後,Vaadin關閉UI和會話。
在web.xml中:
<servlet> ... <init-param> <param-name>closeIdleSessions</param-name> <param-value>true</param-value> </init-param>
現在我認爲這個問題是我的應用程序服務器離開的用戶界面的狀態下,他們認爲,這次會議仍然存在,但我不能夠理解什麼是心跳?和什麼closeSessionId做得精確?
爲了測試給它1分鐘,並檢查它的工作與否。 – 2014-10-10 08:13:13