1. 程式人生 > >Tomcat 7源碼學習筆記 -9 tomcat重啟後session仍然保留

Tomcat 7源碼學習筆記 -9 tomcat重啟後session仍然保留

配置信息 con conf stand 加載 學習筆記 In 一段 catalina

使用Tomcat 7缺省的配置,tomcat關閉後重新啟動,發現原來的session沒有被刪掉,用原來的request獲取session仍然可以取到。但是並沒有配置session持久化。

原因如下:
tomcat的conf目錄下有一個context.xml,這是所有web應用共享的配置信息。
裏面有這麽一段話:

<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->

缺省情況下,<Manager pathname="" />是被註釋掉的,此時,tomcat在每次重新啟動的時候,都會保留原來的session。

如果不想保留的話,需要把<Manager pathname="" />的註釋放開,這樣tomcat關閉的時候,會刪掉所有的session。

默認情況下,tomcat使用StandardManager來管理session,當tomcat關閉,或者web應用被重新加載的時候,會對內存中的HttpSession對象進行持久化,把它們保存在文件系統中,默認的文件是(比如:host name是localhost,app name是test):
work\Catalina\localhost\test\SESSIONS.ser

Tomcat 7源碼學習筆記 -9 tomcat重啟後session仍然保留