mina心跳过滤器

原创 2016年05月31日 20:04:44
一、Mina本身提供了一个过滤器类KeepAliveFilter,该过滤器用于在IO空闲的时候发送并且反馈心跳包,在KeepAliveFilter中共有五个构造器,最终调用的都是有五个参数的构造器
           1)KeepAliveMessageFactory:该实例引用用于判断接受与发送的包是否是心跳包,以及心跳请求包的实现
           2)IdleStatus:该过滤器所关注的空闲状态,默认认为读取空闲,即当读取通道空闲的时候发送心跳包
           3)KeepAliveRequestTimeoutHandler:心跳包请求后超时无反馈情况下的处理机制,默认为关闭连接
           4)KeepAliveRequestInterval:心跳请求包发送的频率
           5)KeepAliveRequestTimeout:心跳请求包超时时间
我们需要实现KeepAliveMessageFactory接口里的四个方法

如何实现以上四个方法呢,让我们来看看mina是如何实现的,源码如下

首先判断这个信息是不是心跳请求信息(是不是心跳请求信息是根据双方的约定来实现的,例如接收到的第一个字符串是x就代表这个信息是心跳请求信息)
如果是心跳请求信息,调用getResponse方法,在这里我们可以选择实现或者不实现getResponse方法,对应的就是心跳机制的两种不同类型,
然后判断这个信息是不是心跳响应信息,如果是心跳响应信息充值session的空闲状态

最后请求执行下一个过滤器

原理OVER

二、在IoAcceptor中配置过滤器链filterChainBuilder

在过滤器链中配置心跳过滤器 value-ref="heartbeat"

配置心跳过滤器KeepAliveFilter

三个参数的配置如下

版权声明:本文为博主原创文章,未经博主允许不得转载。

Mina Logging Filter日志过滤器知识介绍

原文地址:Mina Logging Filter(Apache Mina User Guide Chapter12 Logging Filter) 1.1.1. 背景 Apache MINA使...
  • boonya
  • boonya
  • 2016年06月16日 10:24
  • 2187

Mina开源框架 心跳机制详解

本文纯手工制作,请用心观看。 在详细讲解mina的心跳机制前,读者需要已经具备了mina的基础知识。 如果不够了解,请查看一下连接。 http://www.cnblogs.com/pricks/p/3...
  • kkk0526
  • kkk0526
  • 2016年06月22日 11:43
  • 7790

JAVA 通信框架MINA(包含心跳)

  • 2014年02月11日 11:51
  • 5KB
  • 下载

mina服务端检测客户端心跳实例

服务端代码 public class MyServer { /** 30秒后超时 */ private static final int IDELTIMEOUT = 30; ...
  • zouyzou
  • zouyzou
  • 2017年11月10日 10:43
  • 350

mina 心跳包,断线重连的问题

mina自带了心跳包机制,我是每隔15秒发送一次心跳包,若30秒内没有收到,则认为超时。 网络连接的主题函数是: /** * 30秒后超时 */ private st...
  • sangsa
  • sangsa
  • 2016年05月21日 20:02
  • 6581

apache MINA之心跳协议运行机制

摘要 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自己写了一个心跳协议实现,后来突然发现MINA本身带有这样一个心跳实现,感于对框架的小小崇拜,...
  • update_java
  • update_java
  • 2015年07月13日 12:35
  • 1321

Apache MINA 连续自动发送心跳包

心跳包,那么就是验证服务器和客户端是否连接,只要设置session的idl时间差就行了 /** * session建立时调用 */ @Override public void sessio...
  • lsh6688
  • lsh6688
  • 2013年07月31日 22:09
  • 11396

Mina开源框架 心跳机制详解

  • 2016年06月22日 14:12
  • 1.01MB
  • 下载

mina心跳包机制

  • 2017年05月26日 17:51
  • 9.07MB
  • 下载

MINA之心跳协议运用

转自:http://my.oschina.net/yjwxh/blog/174633 摘要 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自...
  • xianymo
  • xianymo
  • 2014年11月28日 15:05
  • 882
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mina心跳过滤器
举报原因:
原因补充:

(最多只允许输入30个字)