Apache MINA
edit
Apache Mina is a framework that helps users develop high-performance and highly scalable web applications. It provides abstract, event-driven, asynchronous API based on TCP/IP and UDP/IP protocols through Java nio technology.
Apache
MINA
is a web application framework designed to help users easily develop high-performance and highly scalable web applications. It provides an asynchronous API abstracted over different transports such as TCP/IP and UDP/IP
via Java NIO.
Apache MINA is also known as:
● NIO framework library
●
Client server
framework library
● a network
socket
library
MINA
is simple but still provides a full-featured web application framework:
● Provides a unified API for different transport types:
○ TCP/IP and UDP/IP support via Java NIO
○ In-VM pipeline communication
○ You can implement your own API!
● Filters as an extension feature; similar to Servlet Filters
● Low-level and high-level APIs:
○ Low level
:
use
ByteBuffers
○ Advanced: use user-defined message objects and codecs
● Highly customized threading model:
○ a
thread pool
○ More than one thread pool (aka
SEDA
)
● Out-of-the-box SSL · TLS · StartTLS support
using
Java 5 SSL engine
● Overload protection and transmission
flow control
● Utilize
mock
objects for
unit testing
● JMX management capability
● Provide stream-based I/O support through StreamIoHandler
● Integration with well-known containers (eg PicoContainer, Spring)
● Smooth migration from MINA to
Netty
, MINA is the predecessor of Netty.