孟姜女哭长城徐善云:从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(二)
来源:百度文库 编辑:偶看新闻 时间:2024/05/10 06:38:28
从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(二)
分类: 架构分析 源码分析 2011-02-17 19:29 6399人阅读 评论(6) 收藏 举报下面再来看看Tomcat是如何使用NIO来构架Connector这块的。
先看看Tomcat Connector这块的类图:
其中:
NioEndpoint负责组装各部件
Acceptor负责监听新连接,并把连接交给Poller
Poller负责监听所管辖的channel队列,并把请求交给SocketProcessor处理
SocketProcessor负责数据处理,并把请求传递给后端业务处理模块
在整个服务端处理请求的过程可以分为三个阶段,时序图如下所示:
阶段一:监听并建立连接
这一阶段主要是Acceptor监听新连接,并轮询取一个Poller ,把连接交付给Poller
阶段二:监听客户端的请求
这一过程主要是让每个Poller监听所管辖的channel队列,select到新请求后交付给SocketProcessor处理
阶段三:处理请求
这一过程就是从多线程执行SocketProcessor,做数据和业务处理
于是乎我们发现抛开具体代码细节,Tomcat和Jetty在NIO的使用方面是非常一致的,采用的模式依然是下图:
JSP中tomcat和jdbc 驱动的配置
Tomcat无法从"开始"中启动,但可以在startup.bat中启动
tomcat中access的问题
Win98中Tomcat的安装
eclipse 中 tomcat 无法启动
把TOMCAT加入IIS中
eclipse中使用tomcat问题
如何在frontpage中执行jsp计数器程序段,需要安装tomcat和jdk吗?
我可以在eclipse中同时安装Tomcat和JBoss吗?急啊
在eclipse中如何插入myeclipse和tomcat(插件),之后如何通过运行?
tomcat?????
tomcat??
如何安装JDK和TOMCAT
orcale和tomcat的连接
tomcat和花生壳怎么使用?
JSDK和TOMCAT的问题!
eclips和tomcat怎么卸载?!
tomcat从安装配置到使用
MINA除了接电话和KISS还有哪首歌好听啊?
Tomcat中如何在后台配置Jndi
apache+tomcat中地址栏的问题
怎样在JbuilderX中使用Tomcat呀
如何在Eclipse中整合Tomcat
怎么把tomcat嵌入Jbuilder中