com.vaadin.server.communication
Class HeartbeatHandler

java.lang.Object
  extended by com.vaadin.server.SynchronizedRequestHandler
      extended by com.vaadin.server.communication.HeartbeatHandler
All Implemented Interfaces:
RequestHandler, SessionExpiredHandler, java.io.Serializable

public class HeartbeatHandler
extends SynchronizedRequestHandler
implements SessionExpiredHandler

Handles heartbeat requests. Heartbeat requests are periodically sent by the client-side to inform the server that the UI sending the heartbeat is still alive (the browser window is open, the connection is up) even when there are no UIDL requests for a prolonged period of time. UIs that do not receive either heartbeat or UIDL requests are eventually removed from the session and garbage collected.

Since:
7.1
Author:
Vaadin Ltd
See Also:
Serialized Form

Constructor Summary
HeartbeatHandler()
           
 
Method Summary
 boolean handleSessionExpired(VaadinRequest request, VaadinResponse response)
          Called when the a session expiration has occured and a notification needs to be sent to the user.
 boolean synchronizedHandleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response)
          Handles a heartbeat request for the given session.
 
Methods inherited from class com.vaadin.server.SynchronizedRequestHandler
handleRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vaadin.server.RequestHandler
handleRequest
 

Constructor Detail

HeartbeatHandler

public HeartbeatHandler()
Method Detail

synchronizedHandleRequest

public boolean synchronizedHandleRequest(VaadinSession session,
                                         VaadinRequest request,
                                         VaadinResponse response)
                                  throws java.io.IOException
Handles a heartbeat request for the given session. Reads the GET parameter named UIConstants.UI_ID_PARAMETER to identify the UI. If the UI is found in the session, sets it heartbeat timestamp to the current time. Otherwise, writes a HTTP Not Found error to the response.

Specified by:
synchronizedHandleRequest in class SynchronizedRequestHandler
Parameters:
session - The session for the request
request - The request to handle
response - The response object to which a response can be written.
Returns:
true if a response has been written and no further request handlers should be called, otherwise false
Throws:
java.io.IOException - If an IO error occurred
See Also:
SynchronizedRequestHandler.handleRequest(VaadinSession, VaadinRequest, VaadinResponse)

handleSessionExpired

public boolean handleSessionExpired(VaadinRequest request,
                                    VaadinResponse response)
                             throws java.io.IOException
Description copied from interface: SessionExpiredHandler
Called when the a session expiration has occured and a notification needs to be sent to the user. If a response is written, this method should return true to indicate that no more SessionExpiredHandler handlers should be invoked for the request.

Specified by:
handleSessionExpired in interface SessionExpiredHandler
Parameters:
request - The request to handle
response - The response object to which a response can be written.
Returns:
true if a response has been written and no further request handlers should be called, otherwise false
Throws:
java.io.IOException - If an IO error occurred


Copyright © 2000-2011 Vaadin Ltd. All Rights Reserved.