Apache MINA (Multipurpose Infrastructure for Network Applications) is a network application framework which helps users develop network applications easily by providing abstractions of network and protocol I/O layers.
The MINA project website includes resources such as a PDF introduction to MINA and an online tutorial, which includes implementation of the echo protocol, as well as an implementation of a "reverse echo" to show how MINA can process data.
Feture List:
- Unified and extensible API for various transport types (TCP and UDP)
- In-VM pipe communication
- Provides both low-level and high-level API
- Stream-based asynchronous I/O support
- Filter interface as an extension point; similar to Servlet filters
- SSL support via SSLFilter thanks to Java 5 SSLEngine
- Built-in thread pool
- Unit-test your protocol without network connection
- Smooth migration from Netty, a popular NIO framework
- StartTLS support
- Improved connection idleness notification
- Better support for connectionless transport types (e.g. Datagram)
- Prioritized session handling via a thread pool
- Changed the logging framework to SLF4J
- Several bug fixes