Documentation
The MINA 2.X User Guide can be found here : User Guide
Java requirement
MINA 2.X branches can all be used with Java version 8.
In order to be able to build MINA, you must use Java version 11 at least
Presentation Materials
These presentation materials will help you understand the overall architecture and core constructs of MINA
- MINA in real life (ApacheCon EU 2009) by Emmanuel Lécharny
- Rapid Network Application Development with Apache MINA (JavaOne 2008) by Trustin Lee
- Apache MINA - The High Performance Protocol Construction Toolkit (ApacheCon US 2007) by Peter Royal
- Introduction to MINA (ApacheCon Asia 2006) by Trustin Lee
Versions & References
There are currently four branches in MINA:
JavaDoc | Source Code | Description |
---|---|---|
2.0.X | main, test | The 2.0 recommended production-ready branch |
2.1.X | main, test | The 2.1 recommended production-ready branch |
[2.2.X]http://mina.apache.org/mina-project/gen-docs/latest-2.2/apidocs/index.html) | main, test | The new 2.2 recommended production-ready branch |
3.0 | trunk | A defunct branch that we worked on years ago as a attempt of a complete rewrite |
You might also want to read the [frequently asked questions](faq.html] and learn how to contact us before getting started.
Tutorials
- MINA v2.0 Quick Start Guide - Create your first MINA based program using MINA version 2.0
- Logging Configuration - Configuring your MINA-based application for logging
- Transport-specific Configuration
- Serial Tutorial - Serial communications with MINA trunk
- UDP Tutorial - Writing a User Datagram Protocol (UDP) client and server using MINA
- APR Transport - Describes use of APR Transport with MINA
- Integrating with Spring - Demonstrates how to integrate MINA application with Spring
- Codec Repository - Links to available codec implementations for MINA
- Advanced Topic
- Writing IoFilter - Writing your own IoFilter implementation to deal with cross-cutting concerns
- Writing Protocol Codec for MINA 2.x - Implementing a protocol codec for separation of concern
- Using an Executor Filter - Controlling the size of thread pool and choosing the right thread model
- JMX Integration - Making your network application manageable
- Introduction to mina-statemachine - Implementing state machine based MINA applications using Java5 annotations
- User Guide - The new MINA 2.0 User Guide.
For Developers
- Developer Guide - Building & deploying MINA, Coding Standard, and more
Examples
You can browse all examples here.
Name | Feature it demonstrates | Side |
---|---|---|
Reverser | Text protocol based on a protocol codec | Server |
SumUp server | Complex binary protocol based on a protocol codec | Both |
Echo server | Low-level I/O and SSL | Server |
NetCat | Client programming | Client |
HTTP server | Stream-based synchronous I/O | Server |
Tennis | In-VM pipe communication | Both |
Chat server | Spring integration | Both |
Proxy | Resending received bytes on another session. | Both |
Older Presentation Materials
- Building TCP/IP Servers with Apache MINA (ApacheCon EU 2007) by Peter Royal
- Building TCP/IP Servers with Apache MINA (ApacheCon EU 2006) by Peter Royal
- Introduction to MINA (ApacheCon US 2005) by Trustin Lee (Demo movie)