一、介绍
Apache mina是一个帮助用户方便开发高性能和高扩展性的网络应用框架。它在java NIO基础上提供了一组抽象的事件驱动的异步API,比如TCP/IP 和 UDP/IP。
?官网地址:
http://mina.apache.org/
?
apache MINA有如下身份
1. NIO 框架库
2. 客户端服务端框架库
3. 一个网络套接字库
?
子项目
Asyncweb : 一个基于MINA异步消息的HTTP服务。
FtpServer : 一个FTP服务
SSHd : 支持SSHH 协议的java库
Vysper : 一个XMPP 服务
?
二、特性
1. 不同的传输类型统一的API
? ? 1.1 TCP/IP 和 UDP/IP 基于java NIO
? ? 1.2 ?串行的通信(RS 232) 基于RXTX
? ? 1.3 在虚拟机的管道通信
? ? 1.4 自定义的传输类型
2. 过滤接口作为扩展的点,类似Servlet的Filter
3. 低级别和高级别的API
? ? 3.1 低级别的使用ByteBuffers
? ? 3.2 使用用户定义的消息对象和编码
4.高度可定制的线程模型
? ? 4.1 单线程
? ? 4.2 线程池
? ? 4.3 多个线程池
5. SSL TLS ?启动TLS 使用java5的 SSLEngine
6. 高负载屏蔽和通信限制
7. 可用mock object 进行单元测试
8. 可通过JMX管理
9. 支持基于流的输入输出 通过(StreamIoHandler)
10. 集成著名的容器如(picoContainer 和Spring)
11. 平滑的从netty迁移 , netty是nima的前身