[英]Glassfish session-timeout ignored in Vaadin application
我們正在使用 Vaadin 應用程序,在使用過程中,Vaadin 最終顯示錯誤“會話已過期”,但在托管此應用程序的 Glassfish 中,會話超時設置為 8 小時(遠超過上次訪問和獲取'會話已過期')。 調試應用程序后,我們挖出了這個東西:在加載頁面時,Vaadin 使用request.getSession(true)
請求會話,對於后續的 ajax 請求,它使用request.getSession(false)
; 最終request.getSession(false)
返回null
,因此出現session expired
消息。 Web 容器似乎忽略了會話超時設置。
Glassfish 中的默認會話超時時間為 30 分鍾。 如果這符合您的經驗,則 8 小時(28800 秒)的超時設置會以某種方式完全忽略。
您可以在 glassfish-web.xml 中指定超時時間: glassfish-web-app > session-config > session-properties > timeoutSeconds
或者您可以在 web.xml 文件中指定會話超時元素。 這會覆蓋 timeoutSeconds 值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.