2016-12-16 69 views
0

有人可以幫我解決這個問題,當JSESSIONID在apache tomcat中過期(30分鐘(或)值)後,會自動創建一個新的,爲什麼會這樣發生? ,我可以在服務器配置文件中進行任何更改嗎?當會話超時時,Tomcat會創建一個jsessionid cookie

任何幫助表示讚賞。

更新:經過一小段工作後,我開始知道「由於內存泄漏導致線程正在更新」,爲了避免內存泄漏,Tomcat在通過創建隨機JSESSIONID過期後正在更新新線程

+0

每次只要有新的請求到達tomcat的調整,它爲用戶創建一個新的會話。因此,將爲每個新的用戶請求創建一個新的'JSESSIONID' cookie。進一步的請求將攜帶該cookie來識別用戶。你爲什麼不想要那個?如果你需要無狀態的方法,你需要改變你的代碼,我想。 – mndeveci

+0

你是正確的,但在我的情況下,沒有提出任何請求的用戶一個新的JSESSIONID正在創建(我已經看到它在tomcat管理控制檯) – sridhar

+0

用戶cookie不能沒有請求更改。你必須按要求做。最好在瀏覽器中檢查開發者控制檯中的網絡交互。 – mndeveci

回答

0

這是正常的行爲。閒置30分鐘後,會話過期並被刪除。
可以在web.xml

<session-config> 
    <session-timeout>30</session-timeout> 
</session-config> 
+0

感謝您的回覆,當會話過期時,它應該刪除它,但在我的情況下,它被刪除,並自動創建一個新的JSESSIONID(我已經看到它在tomcat管理控制檯) – sridhar

+0

這通常不會發生。新會話僅在請求AFAIK時創建。你確定在webapp上沒有發出新的請求嗎?也許有些Ajax會定期請求?(狂猜) – isah