Class PushRequestHandler
java.lang.Object
com.vaadin.flow.server.communication.PushRequestHandler
- All Implemented Interfaces:
RequestHandler
,SessionExpiredHandler
,Serializable
Handles requests to open a push (bidirectional) communication channel between
the client and the server. After the initial request, communication through
the push channel is managed by
PushAtmosphereHandler
and
PushHandler
.
For internal use only. May be renamed or removed in a future release.
- Since:
- 1.0
- Author:
- Vaadin Ltd
- See Also:
-
Constructor Summary
ConstructorDescriptionPushRequestHandler
(VaadinServletService service) Creates an instance connected to the given service. -
Method Summary
Modifier and TypeMethodDescriptionprotected PushHandler
createPushHandler
(VaadinServletService service) Creates a push handler for this request handler.void
destroy()
Frees any resources currently in use.boolean
handleRequest
(VaadinSession session, VaadinRequest request, VaadinResponse response) Called when a request needs to be handled.boolean
handleSessionExpired
(VaadinRequest request, VaadinResponse response) Called when the a session expiration has occurred and a notification needs to be sent to the user.
-
Constructor Details
-
PushRequestHandler
Creates an instance connected to the given service.- Parameters:
service
- the service this handler belongs to- Throws:
ServiceException
- if initialization of Atmosphere fails
-
-
Method Details
-
createPushHandler
Creates a push handler for this request handler.Create your own request handler and override this method if you want to customize the
PushHandler
, e.g. to dynamically decide the suspend timeout.- Parameters:
service
- the vaadin service- Returns:
- the push handler to use for this service
-
handleRequest
public boolean handleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException Description copied from interface:RequestHandler
Called when a request needs to be handled. If a response is written, this method should returntrue
to indicate that no more request handlers should be invoked for the request.Note that request handlers by default do not lock the session. If you are using VaadinSession or anything inside the VaadinSession you must ensure the session is locked. This can be done by extending
SynchronizedRequestHandler
or by usingVaadinSession.accessSynchronously(Command)
orUI.accessSynchronously(Command)
.- Specified by:
handleRequest
in interfaceRequestHandler
- Parameters:
session
- The session for the requestrequest
- The request to handleresponse
- 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:
IOException
- If an IO error occurred
-
destroy
public void destroy()Frees any resources currently in use. -
handleSessionExpired
public boolean handleSessionExpired(VaadinRequest request, VaadinResponse response) throws IOException Description copied from interface:SessionExpiredHandler
Called when the a session expiration has occurred and a notification needs to be sent to the user. If a response is written, this method should returntrue
to indicate that no moreSessionExpiredHandler
handlers should be invoked for the request.- Specified by:
handleSessionExpired
in interfaceSessionExpiredHandler
- Parameters:
request
- The request to handleresponse
- 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:
IOException
- If an IO error occurred
-