什么是Mina?
Mina是网络通信应用框架。Mina帮助开发者快速开发高性能、高扩展性的网络通信应用。Mina提供了事件驱动、异步操作的编程模型,异步IO默认使用JAVA NIO(NEW IO)作为底层支持,基于Channel的双向通道。Mina提供了网络通信Server端、Client端一系列的接口API,将网络通信与应用程序隔离开来,使用Mina就只做发送、接收你所处理的具体的业务数据。
核心jar包:mina-core.jar 日志jar包slf4j-api.jar和slf4j-simple.jar(可选)
有关日志的jar包注意点:
日志提示: 【版本对应】
Log4J1.2版本:slf4j-api.jar, slf4j-log4j12.jar, and Log4J 1.2.x
Log4J1.3版本:slf4j-api.jar, slf4j-log4j13.jar, and Log4J 1.3.x
Mina是为了解决什么问题存在的
IO有阻塞IO(BIO)与非阻塞IO(NIO)之分。区别在于BIO发送的一个请求要一直等待直到等到返回的响应为止;NIO是你发送一个请求(之后该干嘛就干嘛)等结果产生后你会得到通知。
Mina框架的功能:
1.为各种类型的传输协议提供统一的API:
- 通过JAVA NIO实现的TCP/IP及UDP/IP
- 通过RXTX实现的串行通信(RS232)
- VM内部管道通信
2.底层和高层API
- 底层API:使用ByteBuffers
- 高层API:使用用户定义的消息对象和编辑码器
3.高度可定制的线程模型
- 单线程
- 一个线程池
- 多线程池(例如SEDA)
4.开箱即用的SSL、TLS、StartTLS ,通过java 5的SSLEngine来支持
5.过载保护和流量截留
6.JMX 的可管理性
7.使用模拟对象提供单元可测试性
8.集成了流行的容器,像PicoContainer 和spring
9.平滑从Apache MINA的前身Netty迁移
10.通过StreamIoHandle实现的基于流的I/O支持
下载jar包以及jar包功能
下载地址:点击打开链接
下载解压后有三个文件夹:
- dist文件夹: 包含MINA库源代码的jar(主要)
- docs文件夹: 包含API文档和外部参照代码
- lib文件夹: 包含所有使用MINA所需的jar包