前面对 java NIO 有了较深入的了解,对 NIO的特性也有了理解,今天有空 初步了解些 apache MINA框架,按照官方的说法。
Apache MINA(Multipurpose Infrastructure for Network Applications) 是一个网络应用框架,有助于用户非常方便地开发高性能、高伸缩性的网络应用。它通过Java NIO提供了一个抽象的、事件驱动的、异步的位于各种传输协议(如TCP/IP和UDP/IP)之上的API。
看了一些文章,一些源码。这里简单记录自己的一些想法,最后贴出博文的地址。
1.mina 框架 核心 接口 IoService IoSession IoProcessor IoFilter IoHandler ,其中定制的业务逻辑主要由IoHandler 处理。
2. mina 框架采用 双selector, 这点和 传统的 NIO selector 不同,传统一般 一个 selector负责建立连接和 数据的读写,而mina框架是分开的。
3.mina框架 负责 数据读写的selector 封装在 IoProcessor 中,每个IoProcessor 都是一个单独的线程,拥有独立的selector,连接建立后,会把session绑定到某个 IoProcessor 上。
4 mina框架是 异步的,如果客户端需要同步,则可以通过自定义的消息类型,IoFilter 和 阻塞队列联合 实现。
下面是 一个 博客的地址 :
mina框架介绍 和 部分源码分析
http://zhhphappy.iteye.com/blog/1608315
http://zhhphappy.iteye.com/blog/1608352
http://zhhphappy.iteye.com/blog/1744505
http://zhhphappy.iteye.com/blog/1752749
另外一篇博文的分析
http://www.blogjava.net/killme2008/archive/2009/10/06/297314.html
http://www.cnblogs.com/xuekyo/archive/2013/03/06/2945826.html
http://www.cnblogs.com/xuekyo/archive/2013/03/08/2950644.html