Apache Mina使用手记(一)

Apache Mina使用手记(一)

分类: JAVA 2009-03-11 20:17 6069人阅读 评论(5) 收藏 举报

minaapacheslf4jloggingjavavb

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()方法来处理。

时间: 2024-08-18 06:42:57

Apache Mina使用手记(一)的相关文章

Apache Mina使用手记(二)

Apache Mina使用手记(二) 分类: JAVA 2009-03-11 21:28 8707人阅读 评论(4) 收藏 举报 minaapachelog4jexceptionslf4jmicrosoft  Mina主要是作为服务器端底层框架来实现数据处理,它的实现很简单,如下例所示: package com.gftech.mytool.mina; import java.io.IOException; import java.net.InetSocketAddress; import jav

Apache Mina使用手记(三)

Apache Mina使用手记(三) 分类: JAVA 2009-03-13 20:10 12752人阅读 评论(0) 收藏 举报 minaapacheexceptionsessionlog4jslf4j 在上一篇中,通过一个简单的例子,得以管中窥豹,了解了Mina的基本编写方法.在MinaTimeServer演示程序中,我们添加了两个过滤器,一个是日志过滤器LoggingFilter,一个是文本编解码过滤器.前者实现日志信息的自动处理,后者实现对按行读写的文本数据的编码和解码. 其中Loggi

Apache Mina使用手记(四)

Apache Mina使用手记(四) 分类: JAVA 2009-03-13 20:46 13809人阅读 评论(19) 收藏 举报 minaapacheexceptionsessionstringbyte 上一篇中,我们介绍了如何在mina中编写自己的日志过滤器,这一篇我们自己实现一个编解器. 实际应用当,很多应用系统应用的都不是标准的web service或XML等,比如象中国移动/联通/电信的短信网关程序,都有自己不同的协议实现,并且都是基于TCP/IP的字节流.Mina自带的编解码器实现

使用 Apache MINA 2 开发网络应用

Apache MINA 2 是一个开发高性能和高可伸缩性网络应用程序的网络应用框架.它提供了一个抽象的事件驱动的异步 API,可以使用 TCP/IP.UDP/IP.串口和虚拟机内部的管道等传输方式.Apache MINA 2 可以作为开发网络应用程序的一个良好基础.下面将首先简单介绍一下 Apache MINA 2. Apache MINA 2 介绍 Apache MINA 是 Apache 基金会的一个开源项目,目前最新的版本是 2.0.0-RC1.本文中使用的版本是 2.0.0-M6.下面首

Apache Mina通信框架架构与应用

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于 TCP/IP.UDP/IP协议栈的通信框架(当然,也可以提供 JAVA 对象的序列化服务.虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能.高扩展性的网络通信应用,Mina 提供了事件驱动.异步(Mina 的异步 IO 默认使用的是 JAVA NIO 作为底层支持)操作的编程模型.从官网文档"MINA based Application Architecture"中可以看到Mina作为一

【APACHE MINA2.0开发之一】搭建APACHE MINA框架并实现SERVER与CLIENT端的简单消息传递!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/apache-mina/831.html Hibernate系列学习阶段到此结束了,那么紧接着进入Apache Mina的开发学习,很多童鞋在微薄和QQ中疑问Himi为什么突然脱离游戏开发了,嘿嘿,其实可能更多的童鞋已经看出来了,Himi在偏向服务器Server端开发了,Hibernate.MySQL等都是为了Server端Mina开发而做的

Apache MINA (3) NioSocketAcceptor初始化

上一篇博客Apache MINA (2) Hello World! 以一个例子实现了mina客户端和服务端的通讯,现在通过源码来了解建立连接和通讯的过程(基于tcp/ip的实现). 服务端通过创建一个NioSocketAcceptor来接受请求,客户端通过创建NioSocketConnector来连接服务端并发送请求,从整体的体系结构来看二者的关系. IoService是对于服务器端接受连接和客户端发起连接两类行为的一个抽象.IoServer用来执行真正的 I/O 操作,以及管理 I/O 会话.

解决 Missing artifact org.apache.mina:mina-core:bundle:2.0.9

Maven 项目中引用了 MINA 的依赖,包如下错误: Missing artifact org.apache.mina:mina-core:bundle:2.0.9 依赖 项目引入的 MINA 依赖如下: <dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-core</artifactId> <version>${version.mina}</ve

Apache MINA (1) 简介

简介: Apache MINA(Multipurpose Infrastructure for Network Applications) 是一个网络应用框架,有助于用户非常方便地开发高性能.高伸缩性的网络应用.它通过Java NIO提供了一个抽象的.事件驱动的.异步的位于各种传输协议(如TCP/IP和UDP/IP)之上的API. Mina 框架: IoService IoService是对于服务器端接受连接和客户端发起连接两类行为的一个抽象.IoServer用来执行真正的 I/O 操作,以及管