首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Coder 爱通译 How Tomcat Works 第九章 第二部分

2012-09-04 
Coder 爱翻译 How Tomcat Works 第九章 第二部分The ManagerBase ClassManagerBase类是一个从所有Manager

Coder 爱翻译 How Tomcat Works 第九章 第二部分
The ManagerBase Class

ManagerBase类是一个从所有Manager抽取出来到的抽象类。这个类给它的子类提供了常见的方法。ManagerBase有createSession方法来创建一个Session对象。每一个session都有一个唯一的标识符,ManagerBase类的protected方法generateSessionId返回一个唯一的标识符。

注意:一个活动状态下的session是一个session仍然是valid对象,而不是expired的。这些活动的session被存储在一个叫做sessions的HashMap中的:


首先createSession方法调用父类的createSession方法来创建一个session对象。它发送session对象作为一个字节数组。

DistribubedManager类也实现了java.lang.Runnable,它有一个独立的线程把session对象超时,接收其它节点来的通知。


StoreBase

StoreBase类是一个抽象类,它为它的两个子类提供了常用的方法:FileStore和JDBCStore。StoreBase类没有实现Store接口的save和load方法,因为这个方法的实现依赖存储类型来存储session。

Tomcat 4中的StoreBase类持有一个单独的线程来定期地检查超时的session和移除活动session集合中超时的session。
// Return the requested session if it exists and is valid Manager manager = null; if (context != null) manager = context.getManager();

当有了一个manager,就可以直接获取一个session对象或创建一个新的session对象。

总结:本章讨论manager,它是在session管理里面的一个管理session的组件。组件类型和一个manager怎么持久化session对象到store中。

热点排行