MINA 基础知识

MINA是简单的、功能完全的网络应用程序框架,提供:

为不同的传输类型提供统一的API

Java NIO 实现 TCP/IP UDP/IP

RXTX 实现串行通信。

VM内部的管道通信。

实现自己的传输类型。

Filter接口作为扩展点,类似 Servlet filters

底层和高层的API

底层:使用ByteBuffers

高层:使用用户定义的消息对象和编码。

高度可定制的线程模型:

单线程

单个线程池

多个线程池

开箱可用的SSL TLS 。  StartTLS  支持使用 Java5 SSLEngine

负载保护和传输控制

使用模拟对象的单元可测性

支持JMX 管理

通过StreamIoHandler 支持基于 Stream IO 操作

可与著名的容器如PicoContainer Spring 集成

可从Netty 平滑升级

基于MINA 的应用程序架构的鸟瞰图:

 

 

 

 

 

 

深入看看细节:

大体上,基于MINA 的应用程序被分为 3 层:

I/O 服务 :执行实际的 IO 操作。

I/O 过滤器 :过滤或转换字节到需要的数据结构体,和反向操作。

I/O 处理器 :处理具体的业务逻辑。

创建基于MINA 的应用程序也有三个步骤:

1、创建 IO 服务:选择已经存在的服务( *Acceptor / *Connector )或自己创建。

2、创建过滤器链:选择已存在的或创建定制的过滤器来转换请求和响应。

3、创建 IO 处理器:编写业务逻辑,处理不同的消息。

猜你喜欢

转载自wen866595.iteye.com/blog/1154116