码迷,mamicode.com
首页 > 其他好文 > 详细

Hadoop维护IPC链接

时间:2014-12-25 20:09:53      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

IPC链接上长时间没有发生远程调用,客户端会发送一个心跳消息给服务器端,用于维护链接。

Connection的lastActivity用来记录上次发生IPC通信的时间。

 

Connection.touch方法更新lastActivity为当前时间,在setupIOstream和receiveResponse中被调用。

lastActivity和当前时间超过某个值(在${ipc.ping.interval}),则需要发送心跳消息。

private synchronized void sendPing() throws IOException {
      long curTime = System.currentTimeMillis();
      if ( curTime - lastActivity.get() >= pingInterval) {
        lastActivity.set(curTime);
        synchronized (out) {
          out.writeInt(PING_CALL_ID);
          out.flush();
        }
      }
    }

 

服务器端也使用lastContact来维护链接。

Hadoop维护IPC链接

标签:

原文地址:http://www.cnblogs.com/dorothychai/p/4185187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!