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.
However, it's much more than that. Please take a look around the list of the features that enable rapid network application development, and what people says about MINA. Please grab yourself a download, try our Quick Start Guide, surf our FAQ or start join us on our community.
Features
MINA is a simple yet full-featured network application framework which provides:
* 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.
Reference:
http://mina.apache.org/