1. 程式人生 > >session的鈍化機制以及Tomcat中兩種Session鈍化管理器

session的鈍化機制以及Tomcat中兩種Session鈍化管理器

1,繫結到Session中的 物件有多種狀態,分別是   繫結   解除繫結     鈍化    活化。

繫結 是儲存,通過session.setattribute把物件儲存到session的物件當中,解除繫結,remove。鈍化就是將session持久化儲存裝置上。活化就是將session物件從一個儲存裝置上進行恢復。

2,session的鈍化機制:

session正常是放到伺服器記憶體當中的,當線上使用者很多時,session記憶體的開銷是巨大的,會直接影響web伺服器的效能,session的鈍化機制就會解決這個問題

session鈍化的本質就是把伺服器不經常使用的session物件暫時序列化到系統檔案,整個的過程是由伺服器自動完成的

3,Tomcat中兩種Session鈍化管理器

   首先session鈍化機制是由sessionManager管理

1)第1種管理器是StandarManager

        org.apache.catalina.session.StandarManager

         當Tomcat伺服器關閉或者重啟時tomcat伺服器會將當前記憶體中的session物件鈍化到伺服器檔案系統中;

          另一種情況是web應用程式被重新載入時,記憶體中的session物件也會被鈍化到伺服器的檔案系統中

2)Persistentmanager

   org.apache.catalina.session.Persistentmanager

      首先在鈍化的基礎上進行擴張,第一種情況如上面1,第2種如2,第3種情況,可以配置主流記憶體的session物件數目,將不長使用的session物件儲存到系統檔案或資料庫,當用時再重新載入

      預設情況下,Tomcat提供2個鈍化驅動類

4,servlet規範:

2中介面:HttpServletBindingListener

                  HttpSessionActionListener

5,例項部分:

當物件實現Persistentmanager的介面之後,這個物件被session綁定了,這時會觸發事件,執行方法