WEB开发网
开发学院软件开发Java 深入理解Apache Mina (2)---- 与IoFilter相... 阅读

深入理解Apache Mina (2)---- 与IoFilter相关的几个类

 2009-09-16 00:00:00 来源:WEB开发网   
核心提示: /** * 记录会话接收信息时的信息,然后将该信息传递到过滤器链中的下一个过滤器 * */public void messageReceived(NextFilter nextFilter, IoSession session,Object message) {if (SessionLog.is

 /**
  * 记录会话接收信息时的信息,然后将该信息传递到过滤器链中的下一个过滤器
  * */
 public void messageReceived(NextFilter nextFilter, IoSession session,
   Object message) {
  if (SessionLog.isInfoEnabled(session)) {
   SessionLog.info(session, "RECEIVED: " + message);
  }
  nextFilter.messageReceived(session, message);
 } 

LoggingFilter继承与 IoFilterAdpater,IoFilterAdpater是IoFilter的一个实现类,该类只是提供了IoFilter方法的简单实现 ----将传递到各方法中的消息转发到下一个过滤器中。你可以根据自己的需求继承IoFilterAdpater,并重写相关的方法。 LoggingFilter就是重写了上面提到的几个方法,用于记录当前的会话各种操作的日志信息。通过上面的例子,我们可以大体的了解了 IoFilter的基本功能:根据当前会话状态,来捕获和处理当前会话中所传递的消息。

IoFilter的UML图如下:

深入理解Apache Mina (2)---- 与IoFilter相关的几个类

从上面的类图我们可以清晰的看到IoFilter是一个接口,它有两个具体的实现类:

IoFilterAdpater:该类提供了IoFilter所有方法的方法体,但是没有任何逻辑处理,你可以根据你具体的需求继承该类,并重写相关的方法。IoFilterAdpater是在过滤器中使用的较多的一个类。

ReferenceCountingIoFilter:该类封装IoFilter的实例,它使用监视使用该IoFilter的对象的数量,当没有任何对象使用该IoFilter时,该类会销毁该IoFilter。

上一页  1 2 3 4 5 6  下一页

Tags:深入 理解 Apache

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接