随笔 - 8, 文章 - 0, 评论 - 6, 引用 - 0
数据加载中……

Tomcat笔记(二)

ContainerBasePipeline接口的实现完全依赖于其内部的一个Pipeline类型的成员pipeline(实现类为StandardPipeline)。
   
Tomcatdoc中这样介绍Pipeline接口:该接口的invoke()方法被调用时,将会引发一系列Value对象的序列调用。要求一个Pipeline中的存在一个Value对象(多为最后一个Value对象)完成对request的处理,并生成相应的response,而不能试图将Request继续传递给其它Value对象(这个Value对象被称为Basic)。通常,每个Container对象都持有一个Pipline类型(实际上为StandardPipeline)的成员。在Pipelinedoc中,方法getBasicgetFirst两个方法的Method Summary完全一样,Apache的牛人们也不能免俗啊。

StandardPipeline除实现Pipeline接口外,也实现了Lifecycle接口。这个类的startstop方法,首先检查是否已经被startstop,如果是则会抛出一个LifecycleException的异常,否则便fire和生命期改变的相关事件,并调用其内部valve对象(如果该valve对象也实现了Lifecycle接口)的startstop方法。addValve方法用来向StandardPipeline中加入Valve对象,新加入的Value对象被放在一个叫做Basic的特殊Valve(就是一个Pipeline的最后一个Valve)的前面,如果在添加Valve的时候该StandardPipeline已经处于start状态,则会进行一些注册(调用apache commons库的一个类,完全没有看懂这个地方是什么作用>_<

posted on 2007-05-28 07:39 Job Hu 阅读(292) 评论(0)  编辑  收藏 所属分类: Tomcat源代码


只有注册用户登录后才能发表评论。


网站导航: