« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 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 | 31 | | | | | | | |
| 公告 |
本博客在此声明所有文章均为转摘,只做资料收集使用。并无其他商业用途。 |
Blog信息 |
blog名称: 日志总数:210 评论数量:205 留言数量:-19 访问次数:918393 建立时间:2007年5月10日 |

| |
[Apache Mina]转:Apache Mina使用手记(一) 文章收藏, 网上资源, 软件技术, 电脑与网络
李小白 发表于 2009/8/20 17:59:59 |
1.Apache Mina是一个高性能的基础网络构架平台,构建在java NIO的基础上
2.Mina使用了SLF4J做为日志记录器,全称Simple Logging Facade for Java,它是一个日志门面,只负责为客户端提供应用接口,实际的日志记录由Log4j/JUL等日志记录器实现。如下图所示:
3.Mina主要有IoConnector,IoAccepter,IoSession,IoSessionConfig,IoHandler,IoFilter,IoFuture,EventListener等对象组成
4.IoConnector实现客户端的连接功能,IoAccepter实现服务端的接收功能,它们都继承自IoService
5.IoSession为客户端和服务端的一个会话,每一个会话都包括会话的建立,打开,注销等功能
6.IoSession中还包括发送或接收到的数据,以及会话上触发相应事件的侦听器
7.而IoSession的相关配置由IoSessionConfig实现
8.IoHandler为数据处理器,在此对象中可以对接收到的数据进行具体的业务处理,也可以决定发送数据成功后是否进行其他的操作。很类似VB当中的事件处理。
9.IoFilter决定着在IoAccepter接收到原始数据之后,IoHandler进行业务处理之前,或反过来的对数据的中间处理过程
10.第一个IoFilter可以实现一个子功能,比如LoggingFilter可以实现对接收或发送数据的进行日志处理,其中LoggingFilter根据加载的具体类库动态判断具体的日志操作
11.在IoFilter中,也可以进行协议或编码解码处理,可以支持byte/txt/http/ftp/xml等各种方法
12.在实际的实现 中,多个过滤器由IoFilterChain进行管理,类似一个管道,原始数据从管道的一端进入,过滤层层过滤处理,最终得到需要的数据,交给IoHandler进行业务处理
13.IoFuture指定IO操作包括connect/read/write等的未来状态
14.EventListener事件侦听器,一般会加载到IoSession上面,进行事件监听。比如对接收数据的事件触发后,会在侦听器中调用IoHandler的MessageReceived()方法来处理。 |
|
|