Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract · event-driven · asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.
Apache MINA is often called:
- NIO framework · library,
- client · server framework · library, or
- a networking · socket library.
- Unified API for various transport types:
TCP/IP & UDP/IP via Java NIO Serial communication (RS232) via RXTX In-VM pipe communication You can implement your own!
- Filter interface as an extension point; similar to Servlet filters
- Low-level and high-level API:
Low-level: uses ByteBuffers High-level: uses user-defined message objects and codecs
- Highly customizable thread model:
Single thread One thread pool More than one thread pools (i.e. SEDA)
- Out-of-the-box SSL · TLS · StartTLS support using Java 5 SSLEngine
- Overload shielding & traffic throttling
- Unit testability using mock objects
- JMX managability
- Stream-based I/O support via StreamIoHandler
- Integration with well known containers such as PicoContainer and Spring
- Smooth migration from Netty, an ancestor of Apache MINA.
- IoAccepter 相当于网络应用程序中的服务器端
- IoConnector 相当于客户端
- IoSession 当前客户端到服务器端的一个连接实例
- IoHandler 业务处理逻辑
- IoFilter 过滤器用于链接通讯层接口与业务层接口