public abstract class OnMessage<T> extends AbstractReflectorAtmosphereHandler
AtmosphereHandler
that must be used with the AtmosphereResourceLifecycleInterceptor
and BroadcastOnPostAtmosphereInterceptor
to reduce the handling of the suspend/resume/disconnect and
broadcast operation.
You can also safely used this class with BroadcasterCache
.
methodAbstractReflectorAtmosphereHandler.Default
Modifier and Type | Field and Description |
---|---|
static String |
MESSAGE_DELIMITER |
Constructor and Description |
---|
OnMessage() |
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Destroy this handler
|
void |
onDisconnect(AtmosphereResponse response)
This method will be invoked when the underlying WebServer detects a connection has been closed.
|
abstract void |
onMessage(AtmosphereResponse response,
T message)
Implement this method to get invoked every time a new
Broadcaster.broadcast(Object)
occurs. |
void |
onOpen(AtmosphereResource resource)
This method will be invoked when an connection has been received and not haven't yet be suspended.
|
void |
onRequest(AtmosphereResource resource)
When a client sends a request to its associated
AtmosphereHandler , it can decide if the underlying
connection can be suspended (creating a Continuation) or handle the connection synchronously. |
void |
onResume(AtmosphereResponse response)
This method will be invoked during the process of resuming a connection.
|
void |
onStateChange(AtmosphereResourceEvent event)
Write the
AtmosphereResourceEvent.getMessage() back to the client using
the AtmosphereResponseImpl.getOutputStream() or AtmosphereResponseImpl.getWriter() . |
void |
onTimeout(AtmosphereResponse response)
This method will be invoked when a suspended connection times out, e.g no activity has occurred for the
specified time used when suspending.
|
init, postStateChange, useTwoStepWrite, write
public static final String MESSAGE_DELIMITER
public final void onRequest(AtmosphereResource resource) throws IOException
AtmosphereHandler
AtmosphereHandler
, it can decide if the underlying
connection can be suspended (creating a Continuation) or handle the connection synchronously.
It is recommended to only suspend requests for which HTTP method is a GET and use the POST method to send data
to the server, without marking the connection as asynchronous.resource
- an AtmosphereResource
IOException
public final void onStateChange(AtmosphereResourceEvent event) throws IOException
AbstractReflectorAtmosphereHandler
AtmosphereResourceEvent.getMessage()
back to the client using
the AtmosphereResponseImpl.getOutputStream()
or AtmosphereResponseImpl.getWriter()
.
If a Serializer
is defined, it will be invoked and the write operation
will be delegated to it.
By default, this method will try to use AtmosphereResponseImpl.getWriter()
.onStateChange
in interface AtmosphereHandler
onStateChange
in class AbstractReflectorAtmosphereHandler
event
- the AtmosphereResourceEvent.getMessage()
IOException
public final void destroy()
AtmosphereHandler
destroy
in interface AtmosphereHandler
destroy
in class AbstractReflectorAtmosphereHandler
public void onOpen(AtmosphereResource resource) throws IOException
AtmosphereResourceLifecycleInterceptor
resource
- an AtmosphereResource
IOException
public abstract void onMessage(AtmosphereResponse response, T message) throws IOException
Broadcaster.broadcast(Object)
occurs.response
- an AtmosphereResponse
message
- a message of type TIOException
public void onResume(AtmosphereResponse response) throws IOException
response
- an AtmosphereResponse
.IOException
public void onTimeout(AtmosphereResponse response) throws IOException
response
- an AtmosphereResponse
.IOException
public void onDisconnect(AtmosphereResponse response) throws IOException
response
- an AtmosphereResponse
.IOException
Copyright © 2016. All rights reserved.