1. 程式人生 > >細說Tomcat之session持久化探秘

細說Tomcat之session持久化探秘

分享 我們 級別 業務 這樣的 再次 感到 cal 正常

技術分享
業務場景:
通常,我們會在會話級別存放一些參數,期望在session生命周期內,可以一直取得保存在session中的指定數據;而只要session過期或者失效,則需要執行重新登錄等操作。
但是!我們對於這樣的場景會感到很疑惑:
在session中保存對象值,正常重啟Tomcat,再次訪問應用,居然還可以繼續從session中取得之前保存的數據?
理論上,Tomcat容器重啟之後再次訪問應用應該會創建一個新的session對象,不應該還能從之前的session中取得數據。
這似乎是一種錯覺!!!

原因:
默認情況下,只要Tomcat正常關閉,會將當前所有應用程序的session對象進行持久化存儲。
存放路徑為:

${CATALINA_HOME}/work/Catalina/localhost/${APP_NAME}/SESSIONS.ser

【參考】
http://www.cnblogs.com/huey/p/4803414.html Tomcat - 持久化 Session

細說Tomcat之session持久化探秘