« | September 2023 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |
| 公告 |
关注电子政务、大型企业应用开发、Web、Workflow、MOM、MDA、RCP、GEF email:gmluyang@gmail.com
|
Blog信息 |
blog名称:SixSun的Blog 日志总数:152 评论数量:372 留言数量:13 访问次数:2366646 建立时间:2004年12月13日 |

| |
MINA设计与实践-前言  原创空间, 软件技术
SixSun 发表于 2011/1/12 15:30:10 |
Apache MINA是一个网络应用程序框架,更容易帮助用户开发高性能,高可伸缩性的网络应用程序。它在多种传输方式上提供一个抽象的“事件驱动”异步API,例如,TCP/IP 和UDP通过NIO的方式。
本文将通过对Apache MINA项目源代码的设计,来学习高性能网络开发,多线程技术及设计模式。MINA项目没有想象中那么庞大,源码数量也不算多(约1122个),如果熟悉设计模式可以通过类名就判断出它们的作用和大致写法。大概可以分为如下几大块:
核心接口
过滤器
代理器
处理器
传输器
工具类
准备知识,如下即可:
熟悉Java编程语言
熟悉GOF设计模式
熟悉多线程及多线程设计模式
熟悉Java网络编程
Apache MINA is often called:(Apache MINA常被以下方式调用:)
NIO framework · library, (NIO 框架包)
client · server framework · library, or (client · server 框架包)
a networking · socket library(网络Socket包)
MINA is a simple yet full-featured network application framework which provides:
MINA是一个简单且全功能的网络应用程序框架,提供如下支持:
Unified API for various transport types(为多种数据传送类型提供统一的API):
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 (过滤器解开是一个扩展点,和Servlet过滤器很相似)
Low-level and high-level API(低级别和高级别的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 (使用Mock对象的单元测试)
JMX managability (可管理的JMX)
Stream-based I/O support via StreamIoHandler (基于流的I/O支持通过StreamIoHandler )
Integration with well known containers such as PicoContainer and Spring (整合了一些众所周知的容器,比如PICO容器,Spring)
Smooth migration from Netty, an ancestor of Apache MINA.(从Netty项目无缝移植,ApacheMINA项目的先驱)
待续...陆续更新 |
|
|