Tomcat處理過期Session

    一、先介紹一下Tomcat的後臺處理線程,首先是與該線程至關重要的屬性:backgroundProcessorDelay。

    在每個Container啓動的時候會根據backgroupProcessorDelay來決定是否啓動ContainerBackgroundProcessor線程。

    backgroupProcessorDelay作爲ContainerBase的屬性,默認爲-1,在StandardEngine裏面設置成了10,其餘的容器如StandardContext、StandardHost都仍然爲-1。

所以只有StandardEngine會啓動ContainerBackgroundProcessor線程。

    ContainerBackgroudProcessor線程每隔backgroundProcessorDelay秒去執行遞歸指定自己及子容器的backgroundProcessor方法。由於backgroundProcessorDelay大於0的容器會有一個自己的ContainerBackgroudProcessor線程,所以只會執行backgroundProcessorDelay不大於0的子容器的backgroundProcessor方法。



  二、利用Tomcat的後臺處理線程

作爲StandardEngine的子容器,StandardContext重寫了父類ContainerBase的backgroundProcessr方法,其中有處理Manager的後臺任務。


     ManagerBase實現Manager,使用backgroudProcess處理過期的session。    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章