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
Changes since 0.7.3:
- Several bug fixes
- More user-friendly ByteBuffer management
MINA is currently used by the Apache Directory project. Do you think you would use it? If so, where?