mina源码浅析——总结

来源:互联网 发布:linux c va_start 编辑:程序博客网 时间:2024/05/29 02:55

1Mina的核心类主要功能:(以最核心的类命名类组)

 

IOBuffer类组

提供缓冲区

IOSession类组

提供连接状态

IOFilterChain类组

事件和请求的拦截和过滤

IOHandler类组

处理业务逻辑

IOFuture类组

用于实现IO异步

AbstractPollingIO 类组

IO轮询,读写

IOAcceptor类组

服务器端的连接接收

IOConnetor类组

客户端的连接


 2)mina框架结构


 

可以看到事件由IOProcessor(有关线程)通过过滤器链传递给负责业务处理的IOHandler,而操作由IOHandler发起,通过过滤器链将请求传递给IOProcess。


3)mina的工作流程总结:

(1) IoService实例创建的时候,同时一个关联在IoService上的IoProcessor池、线程池也被创建;

(2) IoService建立套接字(IoAcceptorbind()或者是IoConnectorconnect()方法被调用)时,IoService从线程池中取出一个线程,监听套接字端口;

(3) IoService监听到套接字上有连接请求时,建立IoSession对象,从IoProcessor池中取出一个IoProcessor实例执行这个会话通道上的过滤器、IoHandler

(4) 当这条IoSession通道进入空闲状态或者关闭时,IoProcessor被回收。


0 0
原创粉丝点击