blob: 6b7319801142cea02c261a952ec6210ad1a312db [file] [log] [blame]
Title: 1.3 Features
NavPrev: ch1.2-why-mina.html
NavPrevText: 1.2 - Why MINA ?
NavUp: ch1-getting-started.html
NavUpText: Chapter 1 - Getting Started
NavNext: ch1.4-first-steps.html
NavNextText: 1.4 - First steps
Notice: Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
# 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.